1. Fundamental Types
타입 사이즈 및 메모리라고 해서 각 변수나 클래스, 혹은 포인터가 메모리 상에 어떤 크기로 allocation 되는지 알아봅시다.
이전 글에서, 간단한 코드를 만들어서 int 3개와 double 1개를 allocation하여 각 메모리 주소를 알아보았습니다. 그리고, 더 low level로 내려가면 이러한 격자 무늬 속에서 각각의 변수가 그 사이즈에 맞는 공간을 차지하고 있다고 알아보았습니다.
변수의 사이즈는 sizeof() 함수를 통해 확인할 수 있습니다.
그런데 주의해야 할 점은, int는 컴파일러나 아키텍처에 따라 2byte 혹은 4byte로 적용될 수 있다는 점 입니다.
2. Variable size 확인
이럴 땐 크게 두 가지 방법으로 확인할 수 있습니다.
1.1 static_assert 를 통해 4byte가 맞는지 확인
1.2 고정된 자료형을 사용 (C++11 이후부터 사용 가능)
2. Array
2.1 C 스타일 array
2.2 C++ 스타일의 array
3. Pointer
4. Object의 stack view
4.1 struct
4.2 class
': : C++' 카테고리의 다른 글
ISO C++11 does not allow conversion from string literal to 'char *' (0) | 2024.08.27 |
---|---|
[Memory Structure] Variable in Memory (1) | 2024.06.28 |
Overloading, Override, 다형성 (0) | 2024.04.17 |