1. memset( array, 0, sizeof array );

전달된 배열을 0으로 초기화 한다.

ex)

1
2
3
4
char outputArray[30];
 
//array init by 0
memset( outputArray, 0sizeof(outputArray) );
cs

2. std::copy( input_begin, input_end, output_begin );
어떠한 컨테이너도 복사한다. 
output에 해당하는 컨테이너의 크기가 input의 컨테이너보다 크거나 같아야 한다.
ex)
1
2
3
4
5
6
7
8
9
10
11
12
char outputArray[30];
std::string inputArray = "A B C D E F G H I J K L"  //size = 23
 
//array init by 0
memset( outputArray, 0sizeof(outputArray) );
 
std::copy(std::begin(inputArray), std::end(inputArray), std::begin(outputArray));
 
//show
/** 
 * outputArray = "A B C D E F G H I J K L\0\0\0\0\0\0\0"
 **/
cs



3. std::advance( iterator, index );
어떠한 컨테이너도 배열처럼 접근한다.
iterator를 index만큼 증가시킨다. 
index는 0보다 크거나 같고 컨테이너의 사이즈보다 작아야 한다.
ex)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
std::map<std::stringstd::string> nameMap;
// init map 
nameMap.emplace(std::pair<std::stringstd::string>("Hong" , "Hello Hong" ));
nameMap.emplace(std::pair<std::stringstd::string>("Seong""Hello Seong"));
nameMap.emplace(std::pair<std::stringstd::string>("Hee"  , "Hello Hee"  ));
 
auto item = nameMap.begin();
std::advance( item, random<int>(0, nameMap.size()-1) );
 
//show
/** 
 * randomIndex = 0, data = "Hello Hong"
 * randomIndex = 1, data = "Hello Seong"
 * randomIndex = 2, data = "Hello Hee"
 **/
cs


4. std::find( array_begin, array_end, item );
컨테이너 중 item의 iterator를 반환한다.
5. std::distance( array_begin, iterator );
컨테이너에서 iterator에 해당하는 index를 반환한다.
ex)
1
2
3
4
5
6
7
auto iter = std::find(list.begin(), list.end(), item);
int index = std::distance(list.begin(), iter);
 
//show
/**
 * list[index] 
 **/
cs


6. std::fill( array_begin, array_end, value );
컨테이너를 value로 채운다. (초기화 한다.)

ex)

1
2
3
4
5
6
7
8
9
10
std::vector<int> array;    
array.resize(3);
std::fill(array.begin(), array.end(), 10);
 
//show
/**
 * array[0] = 10
 * array[1] = 10
 * array[2] = 10  
 */
cs


'All > C++' 카테고리의 다른 글

operator new / operator delete  (0) 2016.03.14
메모리 누수 검사  (0) 2015.12.29
가변인자 로그 출력함수  (0) 2015.12.29
RValue와 LValue  (2) 2015.12.28
문장줄이기  (0) 2015.12.28

+ Recent posts