'std::vector'에 해당되는 글 2건

  1. 2016.09.21 C++98 (GCC 4.2) 에서 parameter 있는 std::find_if 구현
  2. 2015.09.23 std::vector 복사와 std::map 복사
카테고리 없음2016. 9. 21. 15:06

[예]


struct special_compare : public std::unary_function<std::string, bool> {

explicit special_compare (const std::string& argPattern) : pattern(argPattern){}

bool operator() (const std::string& arg) {

return compare_func(arg, pattern); 

}

std::string pattern;

bool compare_func(const std::string& arg, const std::string& argPattern) {

return ( std::string::npos == argPattern.find(arg) ) ? false : true;

}

};


std::vector<std::string>::iterator itr;

itr = std::find_if(keywordList.begin(), keywordList.end(), special_compare("pattern_sample"));



[참조]

C++ std::find with a custom comparator

find_if on vector and compare member variables

Using find_if on a vector of object

Posted by 좋은나무
카테고리 없음2015. 9. 23. 11:27

* std::vector 복사


#include <vector>

#include <algorithm>


if( 0 < vectorSource.size() )

{

    vectorTarget.resize(vectorSource.size());

    std::copy(vectorSource.begin(), vectorSource.end(), vectorTarget.begin());

}


* std::map 복사


#include <map>


if( 0 < mapSource.size() )

{

    mapTarget.insert(mapSource.begin(), mapSource.end());

}


또는 


#include <map>

#include <algorithm>


if( 0 < mapSource.size() )

{

    std::copy(mapSource.begin(), mapSource.end(), std::inserter(mapTarget,mapTarget.begin()));

}



Posted by 좋은나무