
1. push_back๊ณผ emplace_back์ ์ฐจ์ด
push_back๊ณผ emplace_back์ vector์์ ๊ฐ์ฒด๋ฅผ ๋ฃ๋ ๋ฐฉ์์ ์ฐจ์ด๊ฐ ์๋ค.
push_back() ํจ์๋ ๊ฐ์ฒด๋ฅผ ์ง์ด๋ฃ๋ ํ์์ด๋ค.
๋ฐ๋ผ์ ๊ฐ์ฒด๊ฐ ์๋ ์ํฉ์ด๋ผ๋ฉด '์์ ๊ฐ์ฒด'๊ฐ ์์ด์ผํ๋ค.
์ด๋ฏธ ๋ง๋ค์ด์ง ๊ฐ์ฒด๋ฅผ ๋ฃ๋ ํจ์์ธ ๊ฒ์ด๋ค. ์ด๋ ์ธ์๋ v์ ๋์ ๊ณ์ํด์ ์ถ๊ฐ๋๋ค.
vector<int>v;
for (int i = 0; i < 5; i++)
{
int a;
cin >> a;
v.push_back(a);
}
//v์ 5๊ฐ์ intํ ์ธ์๋ฅผ ๋ฐ์.
๋ฐ๋ฉด์ emplace_back()ํจ์์ ๊ฒฝ์ฐ,
ํจ์๋ฅผ ๊ตฌ์ฑํ๋๋ฐ ํ์ํ ์ ๋ณด๋จผ์ ๋ฃ์ด์ฃผ๊ณ ํจ์ ๋ด์์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ์ฝ์ ํ๋ ๋ฐฉ์์ด๋ค.
ํจ์ ๋ด๋ถ์ ์์๊ฐ์ฒด๊ฐ ์์ฑ๋ผ์ ์๋ฆฌ๋ฅผ ์ก์์ค๋ค๋ ํน์ง์ ๊ฐ์ง๋ค.
๋ฐ๋ผ์ emplace_back()์ ์ฌ์ฉํ๋ฉด ๋ถํ์ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ํ์์๊ณ , ๋ถํ์ํ ๊ฐ์ฒด ์์ฑ์ ์ค์ผ ์ ์๋ค.
์์
2์ฐจ์ ๋ฐฑํฐ์ pushbackํ๋ ์ํฉ์ผ๋ก ๊ฐ์ ํ๋ฉด,
case 1
vector<vector<int>>v;
for (int i = 0; i < 3; i++)
{
vector<int>tmp;
for (int k = 0; k < 3; k++)
{
int a;
cin >> a;
tmp.push_back(a);
}
v.push_back(tmp);
}
case 2
vector<vector<int>>v;
for (int i = 0; i < 3; i++)
{
v.emplace_back();
for (int k = 0; k < 3; k++)
{
int a;
cin >> a;
v[i].push_back(a);
}
}
case 3
vector<vector<int>>v;
for (int i = 0; i < 3; i++)
{
vector<int>tmp;
v.push_back(tmp);
for (int k = 0; k < 3; k++)
{
int a;
cin >> a;
v[i].push_back(a);
}
}
2. emplace_back ๊ณผ push_back
push_back
vector<vector<int>>v;
v.push_back(5);
push_back์ ์์ ์ฝ๋๊ฐ ์ฌ์ฉ ๋ถ๊ฐ๋ฅํ๋ค.
(๋ฉ๋ชจ๋ฆฌ ํ ๋น์ push_backํจ์๋ฅผ ์ด์ฉํด์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.)
๊ทธ๋ฌ๋ ์๋์ ๊ฐ์ด 2์ฐจ์ ๋ฐฐ์ด์ ์ธ์๊ฐ์ผ๋ก ๋ฐฐ์ด์ ํต์งธ๋ก ๋ฃ์ด์ฃผ๋ ๊ฒ์ ๊ฐ๋ฅํ๋ค.
vector<vector<int>> vec;
vec.push_back({1,3});
empace_back
vector<vector<int>>v;
v.emplace_back(5);
emplace_back ํจ์๋ ์์ ์ฝ๋๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
(๋ฉ๋ชจ๋ฆฌ ํ ๋น๋ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค.)
ํ์ง๋ง ์๋์ ๊ฐ์ด 2์ฐจ์ ๋ฐฐ์ด์ ํต์งธ๋ก ๋ฃ์ด์ฃผ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค.
vector<vector<int>> vec;
vec.emplace_back({1,3});
ํ๋ฆฐ ๋ถ๋ถ์ด๋ ์ด์ํ ๋ถ๋ถ์ด ์์ผ๋ฉด ๋๊ธ๋ก ์ง์ ํด์ฃผ์ธ์! ๊ฐ์ฌํฉ๋๋ค :)
'๐ป > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[c++] replace() ํจ์, find() ํจ์ / ๋ฌธ์์ด ์ฐพ๊ธฐ (2) | 2024.11.27 |
---|---|
[c++] ๊ตฌ์กฐ์ฒด ๋ฐฑํฐ ํธ์๋ฐฑ , ์์์ ๋ฃ๊ธฐ /struct vector push_back (2) | 2024.07.13 |
[c++] ๋ฐ์ฌ๋ฆผ / ์ฌ๋ฆผ / ๋ด๋ฆผ ํจ์ (0) | 2024.04.11 |
[c++] DFS ๊น์ด ์ฐ์ ํ์ , ์ฌ๊ทํจ์ (0) | 2024.04.02 |
[c++] DAT (0) | 2024.03.21 |