memet
- CRT ( C 런타임 라이브러리)
memset을 사용할 때 주의할 점 ( ZeroMemory함수도 비슷함 )
- std::string, std::wstring을 memset으로 초기화 하면 안된다. ( memset 이후, 문자열 삽입시, 정상작동 안되는 것 랜덤발생 확인)
- 1Bytes 변수(char, unsigned char 등)를 제외한 변수를 초기화 할 때에는 0이외의 값으로 초기화를 절대 하지마라.
- new, malloc 등을 이용하여 동적으로 배열을 생성하는 변수가 있는 struct, class에서는 초기화할 때 조심해라.
- CString은 절대 memset으로 초기화를 하지마라.
- virtual function을 가지고 있는 struct, class에서는 절대 memset으로 초기화를 하지마라.
memset을 사용할 때 주의할 점
- 1Bytes 변수(char, unsigned char 등)를 제외한 변수를 초기화 할 때에는 0이외의 값으로 초기화를 절대 하지마라.
- new, malloc 등을 이용하여 동적으로 배열을 생성하는 변수가 있는 struct, class에서는 초기화할 때 조심해라.
- CString은 절대 memset으로 초기화를 하지마라.
- virtual function을 가지고 있는 struct, class에서는 절대 memset으로 초기화를 하지마라.
memset을 사용할 때 위 4가지 경우만 기억을 하고 있으면 문제없다. 반드시 기억하고 있어야 한다. 각각에 대해서 간단하게 살펴보도록 하자.
출처: http://pccoms.tistory.com/entry/문자열-관리-함수들-총집합 [피씨컴의 기울어진 공관]
그 외 다양한 문자열들도 정리되어있는 링크.
https://learn.microsoft.com/ko-kr/cpp/c-runtime-library/reference/memset-wmemset?view=msvc-170
memset, wmemset
자세한 정보: memset, wmemset
learn.microsoft.com
'C++ > c 런타임 라이브러리' 카테고리의 다른 글
strchr, strrchr (0) | 2024.02.08 |
---|