μλ 곡κ°, μ μ 곡κ°, λμ 곡κ°
C++μμ λ°μ΄ν°λ₯Ό μ μ₯ν΄ λκΈ° μν λ©λͺ¨λ¦¬λ₯Ό, λμ νλ λ°©λ²μ λ°λΌ μλ 곡κ°, μ μ 곡κ°, λμ 곡κ°(heap λΌκ³ λ λΆλ¦) μΌλ‘ ꡬλΆλ¨
μλ 곡κ°
μλ λ³μ
μλ 곡κ°μ μ¬μ©νλ ν¨μ μμμ μ μλλ 보ν΅μ λ³μλ€
μμ μ΄ μ μλμ΄ μλ ν¨μκ° νΈμΆλλ μκ°μ μλμΌλ‘ μ겨λ κ·Έ ν¨μκ° μ’ λ£λλ μμ κΉμ§λ§ μ‘΄μ¬ν¨. μ¦, μμ λ€μ ν¬ν¨νκ³ μλ λΈλ μμμλ§ μ ν¨
μλ λ³μλ μ€νμ μ μ₯λ¨. μ΄κ²μ μ€νμ κ·Έ κ°μ΄ μμ°¨μ μΌλ‘ μ μ₯λκ³ , μμμΌλ‘ ν΄μ λλ κ²μ μλ―Έν¨
μ μ 곡κ°
νλ‘κ·Έλ¨μ΄ μ€νλλ λμμ μ§μμ μΌλ‘ μ‘΄μ¬νλ 곡κ°
λ³μλ₯Ό μ μ μΌλ‘ λ§λλ λ°©λ²
1. ν¨μμ μΈλΆμμ λ³μ μ μ
2. λ³μ μ μΈ μ static ν€μλ λΆμ΄κΈ°
λμ 곡κ°
newμ delete μ°μ°μλ μ΅ν΅μ± μλ λ°©λ²μ μ 곡
μμ 곡κ°μ΄λΌ λΆλ₯΄λ λ©λͺ¨λ¦¬ νμ κ΄λ¦¬ν¨. μ΄ νμ μλ λ³μμ μ μ λ³μκ° μ¬μ©νλ λ©λͺ¨λ¦¬μ λΆλ¦¬λμ΄ μμ
newμ deleteλ μ΄λ€ ν¨μμμ λ©λͺ¨λ¦¬λ₯Ό λμ νκ³ , λ€λ₯Έ ν¨μμμ λ©λͺ¨λ¦¬ ν΄μ κ°λ₯
λ³μνμ μ‘°ν©
λ°°μ΄,ꡬ쑰,ν¬μΈν°λ λ§€μ° λ€μν λ°©λ²μΌλ‘ μ‘°ν© κ°λ₯νλ€
struct antarctica_years_end
{
int year;
};
λ€μκ³Ό κ°μ λ³μ μμ± κ°λ₯
antarctica_years_end s01,s02,s03' //s01,s02,s03μ λͺ¨λ ꡬ쑰체
λ©€λ²μ μ°μ°μλ₯Ό μ¬μ©νλ λ©€λ²μ μ κ·Ό κ°λ₯
s01.year=1998;
ν¬μΈν° μμ± κ°λ₯
antarctica_years_end * pa = &s02;
ν¬μΈν°κ° μ ν¨ν μ£Όμλ₯Ό κ°λ¦¬ν¬ κ²½μ°, κ°μ μ λ©€λ²μ μ°μ°μ μ¬μ© κ°λ₯
pa->year=1999;
ꡬ쑰체λ€μ λ°°μ΄ μμ± κ°λ₯
antarctica_years_end trio[3];
λ©€λ²μ μ°μ°μ μ¬μ© κ°λ₯
trio[0].year = 2003;
λ°°μ΄ μ΄λ¦μ΄ ν¬μΈν° μ΄λ―λ‘, κ°μ λ©€λ²μ μ°μ°μ μ¬μ© κ°λ₯.
(trio+1)->year=2004; //trio[1].year=2004μ λμΌ
ν¬μΈν° λ°°μ΄ μμ± κ°λ₯
const antractica_years_end *arp[3]={&s01,&s02,&s03};
κ°μ λ©€λ²μ μ°μ°μ μ¬μ© κ°λ₯
arp[1]->year;
λ°°μ΄μ λν ν¬μΈν°
const antarctica_years_end **ppa=arp;
arpλ λ°°μ΄μ μ΄λ¦, μ¦ μ²« λ²μ§Έ μμμ μ£Όμ, ν¬μΈν°μ΄λ€.
λ°λΌμ ppaλ const antarctica_years_endμ λν ν¬μΈν° μ¦, **κ° λμΌν¨
auto ppb = arp; //c++11μμ μλμΌλ‘ λ³μν νμΈ
κ°μ μ μΈ λ©€λ²μ μ°μ°μλ₯Ό μ΄μ©νμ¬ λ°μ΄ν° μ κ·Ό κ°λ₯
(*ppa)->year
(*(ppb+1))->year
λ°°μ΄μ λμ
Vector ν νλ¦Ώ ν΄λμ€
vector κ°μ²΄λ₯Ό μ¬μ©νκΈ° μν΄μλ vector ν€λ νμΌμ ν¬ν¨ν΄μΌ ν¨
using λͺ λ Ή, using μ μΈ λλ std::vector μ¬μ© κ°λ₯
ν νλ¦Ώμ μ μ₯λ λ°μ΄ν° ννλ₯Ό μ§μνκΈ° μν΄ λ€λ₯Έ ꡬ문 μ¬μ©
vector ν΄λμ€λ μμμ κ°μλ₯Ό μ§μΉνκΈ° μν΄ λ€λ₯Έ ꡬ문 μ¬μ©
- λ΄μ¬ λ°°μ΄,vector κ°μ²΄, λλ array κ°μ²΄λ₯Ό μ¬μ©νλ κ°μ, μ¬μ©μλ κ°λ³ λ©€λ²μ μ μνκΈ° μν΄μλ νμ€ λ°°μ΄ νμ μ¬μ© κ°λ₯ //μ¦ λ°°μ΄κ³Ό λκ°μ λ°©μμΌλ‘ μ¬μ© κ°λ₯ ex) arr[2]=3;
- μ£Όμλ₯Ό ν΅ν΄μ array κ°μ²΄κ° λμΌν μ§μμ λ©λͺ¨λ¦¬λ₯Ό μ¬μ© (stack)
- νλμ array κ°μ²΄λ₯Ό λ λ€λ₯Έ array κ°μ²΄μ λμ κ°λ₯