필수 C ++ 3.1 코드 섹션 연습 - 포인터 방법

// 
//   PointerToValue.cpp
 //   작업
 // 
//   6/3/16에 호킨스, 다코타 Y에 의해 만들어진.
//   저작권 2016 호킨스, 다코타 Y. 모든 권리는 저작권자의 소유입니다.
//
 
사용법 #include " PointerToValue.hpp " 
사용법 #include <cstdio> 
사용법 #include <벡터> 
사용법 #include <iostream> 사용하여 네임 스페이스 표준; 
서식 <유형 이름 엘리먼트>  
요소 * find_value (벡터 <요소> & VEC 요소 값) 
{ 위해 ( int로 난 = 0 난 vec.size ()을 <; 내가 ++

 



     )
    { 
        경우 (VEC [I] == 값) 
        { 
            반환VEC [I]; 
        } 
    } 
    반환  0 ; 
} 




템플릿 <유형 이름 T>  
T * find_value (T *의 배열 INT의 크기, T 값) 
{ 
    경우 (배열 크기 || <! 1 ) 
    { 
        반환  0 ; 
    } 
    에 대해 ( int로 I = 0 ; I는 크기 <; 내가 ++ ) 
    { 
        경우 (배열 [I] == 값) 
        { 
            배열 [I];
        }
    } 
    반환  0 ; 
} 


서식 <요소 유형 이름>
 의 INT find_pos (벡터 <요소> & VEC 요소 값) 
{ 
    INT pos_val;
    위한 ( int로 I = 0 ; I)이 (vec.size를 <; 내가 ++ ) 
    { 
        경우 (VEC [I] == 값) 
        { 
            pos_val = I;
            반환 pos_val; 
        } 
    } 
    반환  0 ; 
} 

INT 의 main () 
{ 
    INT int_array [ 5] = {13 , 3 , 34 , 42 , 53 };
    문자열 str_array [ 5 ] = { " 안녕하세요 " , " , " , " 어떻게 " , " 있다 " , " 당신은? " };
    플로트 float_array [ 5 ] = { 0.123 , 4.5 , 10.1 , 5.7 , 10 }; 

    벡터 < INT> int_vector (int_array, int_array + 5 ); 
    벡터 < 문자열 > str_vector (str_array, str_array + 5 ); 
    벡터 < 플로트 > float_vector (float_array, float_array + 5 ); 

    COUT << " 3의 POS = " << find_pos (int_vector, 53 ) << ENDL; 

    COUT << " '3'int_vector '에서의 포인터 : " << find_value (int_vector, 3 ) << ENDL;
    // COUT << * (find_value (int_vector 3)) << ENDL;    

    COUT << " '안녕하세요'str_vector '에서의 포인터 : " << find_value (str_vector, 스트링 ( " 안녕하세요 " )) << ENDL; 

     f_test = 11.1 ; 
    COUT << " float_vector '에서''11 .1 포인터 ' ' << find_value (float_vector, f_test) << ENDL; 

    플로트 FIRST_VALUE float_array = [ 1 ]; 
    COUT << " 'float_array'4.5의 포인터 : " << find_value (FIRST_VALUE,( 4.5 )) << ENDL;
    반환  0 ; 
}

출력 :

3 = 4 POS
'int_vector'에서 '3'의 포인터 : 0x1c1554
'str_vector'에서 '안녕하세요'의 포인터 : 0x1c1a50
float_vector '에서''11 .1의 포인터 : 0
'float_array'4.5의 포인터 : 0x73fc8c

추천

출처www.cnblogs.com/CodeWorkerLiMing/p/10991926.html