Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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
- BOJ1753
- BOJ11066
- BOJ2629
- ๋ฐฑ์ค
- ์ํ์ฝ๋ฉ
- BFS
- ๋ฐฑ์ค11404
- ๋ฐฑ์ค2141
- ๋ฐฑํธ๋ํน
- BOJ11729
- BOJ14719
- github_actions
- DP
- BOJ2805
- BOJ11404
- ์์ข ์ด์๊ฐ์
- BOJ9663
- ๋ฐฑ์ค2533
- ํ๋ก๊ทธ๋๋จธ์ค #๋ฌด์ง์๋จน๋ฐฉ๋ผ์ด๋ธ #C++
- boj
- BOJ20444
- BOJ1931
- 1520๋ด๋ฆฌ๋ง๊ธธ
- BOJ14501
- ์ด๋ถํ์
- ๋ฐฑ์ค #BOJ #1697
- html
- ๋ฐฑ์ค2110
- ์ฌ๊ท
- BOJ2110
Archives
- Today
- Total
poksul_log
[C++] new์ delete ๋ณธ๋ฌธ
๐ new?
C์์์ malloc๊ณผ ๊ฐ์ ์ญํ ๋ก, heap ์์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํจ
โถ ์ฌ์ฉ๋ฒ
Type* pointer = new Type; // Type ํฌ๊ธฐ์ ๊ณต๊ฐ์ ํ ๋น, pointer์ ์ฃผ์๊ฐ ์ ๋ฌ
// example
int* p = new int; // int ํฌ๊ธฐ์ ๊ณต๊ฐ ํ ๋น, ์ฃผ์๊ฐ p์ ๋ฃ๊ธฐ
/* ๋ฐฐ์ด์ ์ฌ์ฉ ์ */
Type* pointer = new Type[size];
// example
int* list = new int[10];
๐ delete?
C์์์ free์ ๊ฐ์ ์ญํ ๋ก, heap ์์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํจ
์ด ๋, delete๋ก ํด์ ํ ์ ์๋ ๊ณต๊ฐ์ ์ฌ์ฉ์๊ฐ new๋ฅผ ํตํด ํ ๋นํ ๊ณต๊ฐ๋ง ํด๋นํ๋ค.
*p = 10;
delete p; // p์ ํ ๋น๋ ๊ณต๊ฐ ํด์
/* ๋ฐฐ์ด ํด์ */
delete[] p;
๐ -> ์ . ์ ์ฐจ์ด์
. ์ ํด๋์ค์ ๋ฉค๋ฒ๋ฅผ ์ง์ ์ ๊ทผ
/* Example */
class Animal {
public:
string name;
int age;
}
int main() {
Animal a;
a.name = "maru"; // .๋ฅผ ํตํด Animal class ๋ฉค๋ฒ๋ณ์ name์ "์ง์ " ์ ๊ทผ
a.age = 10;
return 0;
}
-> ์ ํฌ์ธํฐ๋ฅผ ํตํด ๋ฉค๋ฒ์ ์ ๊ทผ ( ex.x -> y ๋ (*x).y์ ๋์ผ )
/* Example */
class Animal {
public:
string name;
int age;
}
int main() {
Animal* a = new Animal; // ์๋ก์ด Animal a๋ฅผ heap์ ํ ๋น
a -> name = "maru"; // -> ๋ฅผ ํตํด Animal a์ name์ ์ ๊ทผ
a -> age = 10;
return 0;
}
'Language > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] ํฌ์ธํฐ์ ์ฐธ์กฐ์ (0) | 2023.03.27 |
---|