반응형
//************************************************ // malloc : 메모리 관리 //************************************************ // C++언어에서는 동적메모리를 적극적으로 사용한다 // new : java, C# // --> malloc --> new !! // delete --> free #includeusing namespace std; struct Person { int age; char name[20]; }; void main() { // 동적배열 // int * p = new int[10]; //--> int * p = (int*)malloc(sizeof(int)*10); Person * list = new Person[10]; list[0].age = 10; strcpy( list[0].name , "홍길동") ; delete [] p; //free(p); // malloc VS new // 1. malloc은함수이기 때문에 별도에 인클루드가 필요하다 . // 2. new 연산자 이기때문에 인클루드 없이 프로그램 어디서든 사용가능 // 3. mallc은 void * 를 리턴하기때문에 별도에 캐스팅이 필요하다 !! // 4. new는 알아서 생성에 맞는 타입의 포인터를 리턴해준다 !! // 5. new와 delete는 객체의 생성자와 소멸자를 자동으로 호출하는 역할 !! // 6. class의 객체 생성시에는 반드시 new/delete를 사용해야 한다 !! }
'C, C++' 카테고리의 다른 글
[C++] 함수오버로딩 (0) | 2014.11.18 |
---|---|
[C++] 문법적 개선사항 (0) | 2014.11.18 |
[C++] C++ 의 구조와 C언어 개선사항 (0) | 2014.11.18 |
[C] 셀렉트를 사용한 통신 (0) | 2014.11.18 |
[C] 소켓 공부 (0) | 2014.11.18 |