C++ 에서 멤버 변수로 넘긴 배열과 동적할당은 포인터로 받는다.

 

포인터를 sizeof() 하려고 하면, 포인터의 크기( 4byte or 8byte)가 나온다.

 

배열 크기를 구하는 방법은 _msize () 함수를 이용하는 것.

#include <malloc.h>

int n = 10;
int* arr = new int[n](); // ()를 붙여주면 0으로 초기화 됨!

cout << _msize(arr) << "\n";				// 40
cout << _msize(arr) / sizeof(int) << "\n"; 		// 10
cout << _msize(arr) / sizeof(arr[0]) << "\n"; 	// 10
   
delete[] arr;

'c, c++ 리마인드' 카테고리의 다른 글

[c++] 참조자  (1) 2024.06.16
포인터 연산  (0) 2024.05.22
[c++] typeid, is_base_of  (2) 2024.02.10
[c++] #define & typedef  (0) 2023.12.13
C++ friend 함수  (0) 2023.10.31

+ Recent posts