C++ - sizeof() 와 size() 함수
1. sizeof
sizeof() 함수는 메모리 공간을 차지하는 byte수를 return 합니다.
the sizeof() operator does not give you the number of elements in an array, gives you the number of bytes a thing occupies in memory.
sizeof() 함수로 포인터 변수의 크기를 구한다면 운영체제에 따른 byte 수가 return
32-bit operating system : 4bytes
64-bit operating system : 8bytes
배열의 이름은 배열의 시작주소를 의미합니다. sizeof(배열이름) 은 4bytes 혹은 8bytes가 return됩니다.
an array type will degenerate into a pointer type at every opportunity.
- sizeof() 함수는 메모리 공간을 차지하는 byte수를 return sizeof(s) = 6
- sizeof() 함수로 포인터 변수의 크기를 구한다면 운영체제에 따른 byte 수가 return s = "Hello world!"
sizeof(xs) = 24
The size of main()'s (s) is 13
The size of f()'s (s) is 4
The size of main()'s (&s) is 4
2. std::size() 혹은 STL의 size()함수
std::size()함수는 주어진 컨테이너 혹은 배열의 size를 return
Returns the size of the given container c or array array.
The new C++11 std::array class provides a lot of STL sequence container information about your array, including its size().