일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- unity stencil buffer
- javascript
- react native accessible
- GitHub
- cyworld
- c++ 정보은닉
- node
- Expo
- 리액트 네이티브 맥
- react-native
- 벡터와 리스트의 차이
- 싸이월드
- CSS
- 스탠실 버퍼 튜토리얼
- 리액트 네이티브 설치 오류
- node.js
- react native typescript navigation
- react native mac
- react native 타입스크립트
- 스탠실 버퍼 사용
- c++ using
- react native typescript
- html
- react native ios 기기 연결
- stencil buffer
- 스탠실 버퍼 시작
- react native typescript navigate
- react
- react native
- C++
Archives
- Today
- Total
혀니의 이거저거 뿌시기
[C++]02-5.malloc & free를 대신하는 new &delete 본문
728x90
C언어의 동적할당의 단점:
1.할당할 대상의 정보를 무조건 바이트 크기단위로 전달해야 함
2.반환형이 void 형 포인터이기 때문에 적절한 형변환을 거쳐야 함
C++에서의 new, delete: 위의 단점을 보완해줌
-int형 변수의 할당 : int * ptr = new int;
-double형 변수의 할당 : double * ptr2 = new double;
-길이가 3인 int형 배열의 할당 : int * arr1 = new int[3];
-길이가 7인 double형 배열의 할당 : double * arr2 = new double[7];
-앞서 할당한 int형 변수의 소멸 : delete ptr1;
-앞서 할당한 double형 변수의 소멸 : delete ptr2;
-앞서 할당한 int형 배열의 소멸: delete []arr1;
-앞서 할당한 double형 배열의 소멸 : delete []arr2;
=>동적할당이 훨씬 간결해졌음을 알 수 있음.
이제 C++에서 malloc, free는 쓰지 않기로..
1.힙에 할당된 변수? 이제 포인터를 사용하지 않아도 접근할 수 있어요.
int *ptr = new int;
int &ref = *ptr; //힙 영역에 할당된 변수에 대한 참조자 선언
ref = 20;
cout << *ptr << endl; // 출력결과는 20!
참조자 선언은 상수가 아닌 변수를 대상으로 함.
C++에선 메모리 공간도 변수로 간주하기 때문에 참조자 선언 가능.
윤성우의 C++ p.96 정답
구조체 선언 시에는 *붙여서 포인터형태로 갖고가야 한다는것 잊지 말기
그리고 내부 요소 접근할 때는 왼쪽 항에서는 p1->xpos , 오른쪽 항이나 값 표현 시에는 p3.xpos
728x90
'LANG > C++' 카테고리의 다른 글
[C++]03-1.C++에서의 구조체 (0) | 2023.05.12 |
---|---|
[C++]02-6.C++에서 C언어의 표준함수 호출하기 (0) | 2023.05.11 |
[C++]02-4.참조자(Reference)와 함수 (0) | 2023.05.11 |
[C++]02-3.참조자(Reference)의 이해 (0) | 2023.05.11 |
[C++]02-2.새로운 자료형 bool (0) | 2023.05.11 |