2020년 3월 1일

CF + 보충 시간 : 4 시간

관련 코드에 익숙 검토 C ++ 제 8 장, 그리고 기절 시간 : 2 시간

/// C ++ 제 VIII의 
사용법 #include " STDIO.H " 
사용법 #include " string.h " 
사용법 #include " iostream " 
사용법 #include " 알고리즘 " 
은 USING  스페이스 STD;
 /// 인라인 그 기능 인라인 함수, 기준 파라미터를 나타낸다 파라미터
 /// 동시에에는 값이 기준 함수 파라미터 형식 square1의 함수로서 기록 될 수 변경하지 않으
 /// 근무처 참조이 함수 
인라인 INT 스퀘어 ( INTX) 
{ 
    INT & Z = ; X
     리턴 Z = Z를 * Z; 
} 
인라인 INT square1 ( CONST INTX) 
{ 
  ///   INT & Z = X :   /// 이 명령이 잘못된, 여기서 X 변경 동일한 값이 틀리다.
    /// 컴파일러는 X의 값이 변경을 금지한다. 
    INT Z = X; /// 이 가능한 
       X * Z; 
} 
 
/// 임시 변수의 함수 관련 
인라인 공극 swapr1 ( INT & A, INT 및 B)은 /// A, B 값을 교환 
{
     INT의 TEMP = A를 ; A = B, B = a 및
     ; 
} 
인라인 공극 swapr2 (   & A,   & B) 
{
      TEMP = A; A = B; B = TEMP; ; 
} 
인라인 INT swapr3 ( CONST  INT & A, CONST  INT & B) 
{ 
    /// 에서 const 이유는 다음의 사용을 장려
     /// 부주의 사용 CONST을 피하기 위해, 1 데이터에 오류가 프로그램 수정합니다.
    /// 2이므로 기능 CONST CONST 비 CONST 인수를 사용하여 처리 할 수있다. 그렇지 않으면 그것은 단지 const가 아닌 데이터를 받아 들일 것입니다.
    /// 3 때문에 함수가 CONST 기준 임시 변수의 올바른 사용을 생성하는데 사용될 수 있다는 것을 
    반환 A + B] 
} 
 
/// 이 기준 구조 및 동작에 관한 함수 인 
구조체 노드 {
      이름 [ 26이다 ]
      인용 [ 26은이]
    int입니다 사용; 
}; 
CONST 노드 및 사용 (노드 및 노드) 
{ 
    /// 이 별명 노드 기준
     /// 리턴 기준값이 인 :
     /// 1 반송기구 리턴 값이 임시 저장 영역에 복사 영역은이 영역에 액세스하도록 호출자 하였다.
    /// 그러나, 호출 프로그램에 반환 복사 할 필요없이, 직접 반환 값에 액세스하는 것을 의미합니다.
    /// 일반적으로, 참조에 대한 참조 때문에 함수를 호출하는 것은 실제로 자신의 변수에 직접 액세스입니다, 함수에 전달.
    /// 복사가 수행되지 않기 때문에,이 빨라집니다.
    /// 메모리 장치가 더 이상 기능의 종료를 존재하는 경우에 때 반환하지 않도록주의해야합니다. 
    node.name << << COUT " (PIC) : \ N- 형 " , 
    COUT << node.quote << ENDL; 
    COUT << ENDL; 
    node.used ++ ;
     리턴노드;
} 
 
/// 함수 템플릿 스위칭 
템플릿 < 클래스 있는 Any>
 공극 스왑 (있는 Any & A의 상관 및 B)이 /// 또한 템플릿으로서 쓸 수는 <어떤 유형 이름> 
{ 
    있는 Any TEMP; TEMP = A; A = B; B = TEMP; 
} 
템플릿 <TYPENAME있는 Any>
 공극 스왑 (있는 Any & A의 상관 및 B의 상관 및 C) 
{ 
    있는 Any TEMP; TEMP = C, C = B, B = A; A = TEMP; 
} 
공극 근무처 () /// 이 함수 및 동작시 
{ 
    하게 printf ( " 본원에 관련된 동작 인용 : \ N- " )
     INT X] 
    는 scanf ( " %의 D " , 및 X)
     INT Y = 스퀘어 (X)
     INT & Z = X; /// 기준 파라미터 할당이 초기화되어야하며, 단지 참조를 판정 한 후, 또 다른 변수를 참조하지 한번 할당 될 수
     / // 위장 나타낸다 코드 실제로 * CONST Z = X int이며 
    에서 printf ( " X = %의 Dy = % DZ = % D \ N- ' , X, Y, Z) 
    의 printf ( " X = % XY = % XZ을 X (%) = \ N- ' , X, Y, Z) /// 동일한 어드레스 X 및 Z, Y, INT 유닛 차이가 스택 그의 확인된다 
 
} 
공극 WORK2 () /// 임시 익명 변수 (참조 ) 
{ 
    printf와는 ( " 여기에 임시 관련 작업 익명 변수입니다 : \ N- 형 " );
      A는 = . 3 ,B =. 4 ;
     /// swapr1 (A, B) int 형 swapr의 기능이없는 참조 데이터 LONGLONG 때문에 문이 주어질 것이다 입력 
    INT X = 5. , Y = 6. ;
     /// swapr2 (X, Y ) 동일한 파라미터 유형 LONGLONG, 데이터 타입이 참조 될 수 없다 INT
     /// 종류가 동일하지 않을 때 : 참조 형 이유 캐스팅하지
     /// 컴파일러 암시 적 변환, 및 함수 인자의 동일한 유형을 생성 할 익명의 임시 변수는
     /// 다음 참조의 함수 매개 변수, 그것은 두 익명의 임시 변수를 가리키는
     /// 우리가 원하는 효과를 달성하기 위해 임시 익명 변수에 최종 인수 포인트로 이어지는
     /// 이 초기 C에서 가능한 ++ 더 편안합니다. 
 
    /// 익명 발생 임시 변수 3 예, 세 가지 기준에 입력해야 CONST 동안 
    INT = swapr3 (A, B) S; /// 이 작업은 동일한 부호 LONGLONG 변수 INT이다
     /// 가능하기 때문에, CONST 유형으로 기능 파라미터, 그 값을 변경할 수있다.
    ///이 경우에, 임시 레퍼런스 포인트 익명 가변
    INT S1 = swapr3 ( 6. , 7. ) /// 이 호출은 동일한 변수 임시 익명있을 것이다 익명 임시 변수없이 -6,7- 어드레스 보낸 
    INT S2 swapr3 = (A + 1. , B) // / 어떤 식 +1 어드레스가 없기 때문에,이 변수는 임시 익명 발생 
 
    의 printf ( " %가 LLD % \ N- LLD " , A, B) 
    의 printf는 ( " %의 D %의은 =는 % DS % D = D S1 S2 % D = \ N- ' , X, Y, S, S1) 
} 
공극 work3 () /// 기준 구조체 관련 동작 
{ 
    의 printf는 ( " 본원에 인용 구조 관련 동작이다 : \ N- ' ) 
    COUT << " 이 함수는 세 개의 다른 장소 갖는다 " <<ENDL; 
    COUT << " 1 사용 (노드)에 의해 도시 된 구조에 대한 참조 포인터 사용. " << ENDL 단계; 
    COUT << " 2, 반환 값으로서 기준 " << ENDL; 
    COUT << " . (3)는 기능을 사용 사용 (노드) 한때는 디스플레이에서 액세스 구조 부재 호출, " << ; ENDL 
 
    노드 노드 {= " " , " 상기 I 사랑 해요 " , 0 
    } 
    를 사용 (노드) 
    COUT << " 노드 : " << << node.used "사용은 \ n ' ;
    노드 노드 1; 
    노드 1 = 사용 (노드); 
    COUT << " 노드 : " << node.used << " 사용은 \ n ' ; 
    COUT << " 노드 1 : " << node1.used << " 사용은 \ n ' ; 
    COUT << " 용도 (노드) " << 사용 (노드) 한때는 << " 사용은 \ n ' ;
    /// 사용 CONST위한 해당 기준 리턴 타입의 차이가있다.
    /// 이 같은이 CONST는 구조 노드 자체가 const를하지만 유일한 수단 것을 의미하지 않는다
     ///는 그 구조가 직접 지적 수정에 대한 참조를 반환하는 데 사용할 수 없습니다. CONST 등이 저장 다음과 같은 성명을 표시 할 수 있습니다
    /// 사용 (노드) = 10 한때는,이 확실히 아무것도 잘못.
    /// 사용하는 것과 (노드) = 10 node.used;
     /// 즉, const를 한 후 저장, 짧은하지만 더 난해한 코드를 작성 할 수 있습니다. 
    반환 ; 
} 
공극 work4 ()을 /// 함수 템플릿 
{
     INT의 X를, Y를; 
    X = . 6 ; Y =을 19. ] 
    스왑 (X, Y) 
    INT A = . 1 , B = . 3 , C =를 5. , 
    스왑 (A을 B, C) 
    의 printf ( " X % = %의 Dy = D \ N- ' , X, Y) 
    의 printf ( " % = DB % = DC의 % = D \ N- ' , A, B, C);
} 
INT 의 main () 
{ 
   근무처 (); 
   근무처 (); 
    work3 (); 
   work4 (); 
}

비디오 + 자바 작업 : 1 시간

 

추천

출처www.cnblogs.com/yrz001030/p/12393533.html