티스토리 뷰
memset(시작위치, 변경값, 크기):
헤더 <cmemory>
1바이트 단위로 초기화, bool 이나 char 에 적합.
int형은 1바이트 넘어 부적합.
ex)
bool arr[10];
memset(arr, false, sizeof(arr));
fill_n(초기화할 배열, 자리수, 초기화할 값):
#include <algorithm>
직접 루프를 돌리면서 초기화 하는 방식.
자료형관계없이 사용가능.
ex) fill_n(arr, sizeof(arr)/sizeof(int), 3)
fill(초기화할 원소의 시작주소, 초기화할 원소의 종료주소, 초기화할 값):
ex)
fill(arr, arr+10, 1);
fill(&arr[0], &arr[10], 1);
2d array도 초기화 가능:
int arr[10][10];
fill(&arr[0][0], &arr[9][9], 0); // 두번째 인자는 끝나는 위치 +1 이다
또, 찾아보니 fill_n은 내부적으로 memset이 가능하면 memset으로 수행되고 안되면 iteration으로 초기화 작업을 한다고 한다. 따라서 알고리즘 문제를 풀때는 그냥 fill_n을 쓰면 될꺼 같다.
'노트' 카테고리의 다른 글
c++) 입출력 관련 속도 (0) | 2021.04.14 |
---|---|
c++) 문자열 관련 함수들 저장 (0) | 2021.04.02 |
숫자들 때어서 배열에 저장 (0) | 2021.03.31 |
전역변수에 배열 등 선언했을때 초기화.. (0) | 2021.03.26 |
큰따옴표(""), 작은따옴표('') (0) | 2021.03.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- floyd warshall
- graph
- Tree
- 이분탐색
- Brute Force
- 조합
- Dijkstra
- priority queue
- CSS
- db
- back tracking
- Spring
- Python
- Implementation
- MVC
- Kruskal
- Unity
- permutation
- 재귀
- binary search
- Stack
- C
- BFS
- 자료구조
- two pointer
- recursion
- C++
- DP
- greedy
- dfs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함