miscellaneous : <์ฌ๋ฌผ ๋ฑ์ด> ํํ์์์ (๊ฒ์ผ๋ก ์ด๋ฃจ์ด์ง), ๊ฐ๊ฐ์ง ์ก๋คํ, ์ก๋์ฌ๋์
ํน๋ณํ ์์นํ ๊ณณ์ด ์๋ ์ ๋ณด๋ค์ ํ์ด์ง. ์์ฌ์ ๋ถ๋ฆฌ๋ฉ๋๋ค.
----
์ํ๋ ๊ฐ ์ญ์ ํ๊ธฐ ¶
- ์ด๋ค ์ปจํ
์ด๋๊ฐ int๊ฐ๋ค์ ๋ด๊ณ ์๋ค๊ณ ํ์. ๊ฑฐ๊ธฐ์ 1982 ๋ผ๋ ์ซ์๋ฅผ ๋ชฝ๋
์ง์์ฃผ๊ณ ์ถ๋ค๋ฉด?
- Contiguous-memory container ์ผ๋
- Contiguous-memory container ์ผ๋
~cpp c.erase( remove(c.begin(), c.end(), 1982), c.end() ); // ์ด๊ฑด ๋ด๋ถ์ ์ผ๋ก ์ด๋ป๊ฒ ๋์๊ฐ๋ ๊ฑธ๊น. ์ฐพ์๋ด์ผ๊ฒ ๊ตฐ.
- list์ผ๋ - erase ์จ๋ ๋์ง๋ง remove๊ฐ ๋ ํจ์จ์ ์ด๋ค.
~cpp c.remove(1982);
- Associative container ์ผ๋ - remove์ฐ๋ฉด ๋๋ฆฌ๋๋ค.(์์ผ๋๊น--;) ๋ ์ ๋ค๋ฆญ ์๊ณ ๋ฆฌ์ฆ remove๋ ์ญ์ ์๋๋ค. ์ปจํ
์ด๋๊ฐ ๋ง๊ฐ์ง์๋ ์๋ค.
~cpp c.erase(1982);
ํ์ผ ์ฝ์ด ์ค๊ธฐ ¶
~cpp // ints.dat ์์ ์ ์๋ค์ ์ฝ์ด์ list์ ์ ์ฅํด์ค ifstream dataFile("ints.dat"); ifstream_iterator<int> dataBegin(dataFile); ifstream_iterator<int> dataEnd; list<int> data(dataBegin, dataEnd); // ์๋ฐ์์ผ๋ก ์จ์ฃผ์.
์ฃผ์์ฌํญ ¶
- ์ปจํ
์ด๋๋ฅผ ์๋ฌด๊ฑฐ๋ ์ฐ๋ฉด ์๋๋ค. ๊ฐ์ฅ ์ต์ ํ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์๊ฐํด์ ์จ์ผํ๋ค.
- vector<Object*> ์ด๋ฐ์์ผ๋ก ๋์ ์์ฑํ๋ ๊ฐ์ฒด์ ๋ ํผ๋ฐ์ค๋ฅผ ์ํ ํฌ์ธํฐ๋ฅผ ์ปจํ
์ด๋์ ๋ฃ์๋๋ ์ถํ ํฌ์ธํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๋ฅผ ์ง์ delete ํด์ค์ผ ํ๋ค.
STL