// // 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