'library/STL'에 해당되는 글 4건

vs2008
HKLM\Software\Microsoft\VisualStudio\8.0\NativeDE\StepOver
aaa=std\:\:.*=NoStepInto

 vs2010
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0_Config\NativeDE\StepOver]
"aaa"="std\:\:.*"

'library > STL' 카테고리의 다른 글

erase  (0) 2010.12.14
map insert 반환값  (0) 2010.09.12
copy  (0) 2010.02.09
블로그 이미지

란마12

,

erase

library/STL 2010. 12. 14. 19:22

STL에서 가장 짜증나는 부분이 erase부분이 아닌가 싶다. erase와 remove의 차이점을 알아야 하고 거기에 몇 개 종류별 iterator의 erase 기법을 알아야 한다. 흠... 암기하기도 그렇고...꽤나 귀찮은 것들 하나다. 그래서 찾아본 것을 정리하면 아래와 같습당...

map's iterator  erase 방법

// 1. 특정 조건에 따라 제거
map<..., ...> mp;
for(map<..., ...>::iterator i=mp.begin(); i != mp.end(); )
{
 if( {조건문} ) {
   mp.erase( i++ );   
 } else {
   ++i;    
 }
}

// 2. 전체 제거
map<..., ...> mp;
for(map<..., ...>::iterator i=mp.begin(); i != mp.end(); )
{
 mp.erase( i++ );   
}

vector's iterator  erase 방법

// 1. 특정 조건에 따라 제거
vector<...> vec;
for(vector<...>::iterator i=vec.begin(); i != vec.end(); )
{
 if( {조건문} ) {
   i = vec.erase( i );   
 } else {
   ++i;    
 }
}

// 2. 전체 제거
vector<..., ...> vec;
for(vector<..., ...>::iterator i=vec.begin(); i != vec.end(); )
{
 i = vec.erase( i );   
}

http://linkmemo.tistory.com/category/?page=6

'library > STL' 카테고리의 다른 글

STL관련 step into무시하기  (0) 2011.04.21
map insert 반환값  (0) 2010.09.12
copy  (0) 2010.02.09
블로그 이미지

란마12

,

map insert 반환값

library/STL 2010. 9. 12. 19:51

#include <stdio.h>
#include <map>
#include <string>
 
 
int main(int argc, char *argv[])
{
 
    map<int, string>                        mmNames;
    map<int, string>::iterator              iter;
    pair<map<int, string>::iterator, bool>  ret;
 
 
    iter = mmNames.find(1);
    if(iter!=mmNames.end())
    {
        printf("\nmmNames contains 1");
    }
    else
    {
        printf("\nmmNames does not contains 1");
    }
 
 
    ret = mmNames.insert(map<int, string>::value_type(1, string("Lee")));
    if(ret.second == true)
    {
        printf("\ninsert success");
    }
    else
    {
        printf("\ninsert fail");
    }
 
    iter = mmNames.find(1);
    if(iter!=mmNames.end())
    {
        printf("\nmmNames contains 1");
    }
    else
    {
        printf("\nmmNames does not contains 1");
    }
 
    return(0);
}

'library > STL' 카테고리의 다른 글

STL관련 step into무시하기  (0) 2011.04.21
erase  (0) 2010.12.14
copy  (0) 2010.02.09
블로그 이미지

란마12

,

copy

library/STL 2010. 2. 9. 10:42

  • vector
    - vec1을 vec2로 copy
       vec2.resize(vec1.size());
       std::copy(vec1.begin(), vec1.end(), vec2.begin());

 

'library > STL' 카테고리의 다른 글

STL관련 step into무시하기  (0) 2011.04.21
erase  (0) 2010.12.14
map insert 반환값  (0) 2010.09.12
블로그 이미지

란마12

,