"클래스 객체를 제로 아웃하기 위해 memset을 사용하지 마십시오"
"memset을 사용하여 클래스 객체 자체를 0으로 만드는 것은 좋은 생각이 아닙니다. 이것은 생성자(초기화를 하는)를 가진 멤버를 포함한다면 특히 경황적입니다"
"가상 함수가 있는 모든 클래스에서 memset을 사용하면 문제가 발생할 수 있습니다. 가상 함수 테이블 포인터를 넘어서 버릴 수 있습니다"
"sizeof(클래스)가 가상 함수 테이블 포인터를 하나의 데이터 멤버로 취급하기 때문입니다"
"컴파일러가 만든 인스턴스의 내부 데이터를 제로로 만들 수 있다고 생각합니다(YourClass instance; memset(&instance, 0, sizeof(YourClass);)"
'Coding > 궁금한 것들' 카테고리의 다른 글
c++ 띄어쓰기를 포함한 문자열 입력 (0) | 2019.10.16 |
---|---|
using namespace std를 쓰면 안되는 이유? (0) | 2019.10.15 |
string을 int로, int를 string으로 (0) | 2019.09.29 |
삼항 연산자 (0) | 2019.09.10 |
typedef (0) | 2019.09.06 |