U E D R , A S I H C RSS

STL/Miscellaneous

miscellaneous : <사물 등이> ν˜•ν˜•μƒ‰μƒ‰μ˜ (κ²ƒμœΌλ‘œ 이루어진), 갖가지 μž‘λ‹€ν•œ, μž‘λ™μ‚¬λ‹ˆμ˜

νŠΉλ³„νžˆ μœ„μΉ˜ν•  곳이 μ—†λŠ” μ •λ³΄λ“€μ˜ νŽ˜μ΄μ§€. μŒ“μ—¬μ„œ λΆ„λ¦¬λ©λ‹ˆλ‹€.

----

μ›ν•˜λŠ” κ°’ μ‚­μ œν•˜κΈ°

  • μ–΄λ–€ μ»¨ν…Œμ΄λ„ˆκ°€ int값듀을 λ‹΄κ³  μžˆλ‹€κ³  ν•˜μž. κ±°κΈ°μ„œ 1982 λΌλŠ” μˆ«μžλΌ λͺ½λ•… μ§€μ›Œμ£Όκ³  μ‹Άλ‹€λ©΄?
    • 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
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:27:57
Processing time 0.0123 sec