1. memset( array, 0, sizeof array );
전달된 배열을 0으로 초기화 한다.
ex)
1
2
3
4
| char outputArray[30];
//array init by 0 memset( outputArray, 0, sizeof(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, 0, sizeof(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::string, std::string> nameMap;
// init map nameMap.emplace(std::pair<std::string, std::string>("Hong" , "Hello Hong" ));
nameMap.emplace(std::pair<std::string, std::string>("Seong", "Hello Seong"));
nameMap.emplace(std::pair<std::string, std::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 |