小编J_T*_*J_T的帖子

按类属性搜索类对象的std :: vector(例如name)

是否有任何差异性能/安全检查矢量元素使用

  1. for循环与迭代器

  1. STD:find_if(...)?

for循环

// 1. for loop  
for (llvm::SmallVectorImpl<myClass>::const_iterator it = v.begin();
     it != v.end();
     ++it) {
    if (it->getName() == Name) {
        // found element
        // do smth...
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

2. std:find_if

// 2. find if
llvm::SmallVectorImpl<myClass>::const_iterator it
    = std::find_if(v.begin(),
                   v.end(),
                   StringCheck<llvm::StringRef>(Name));
if (it != v.end()) {
    // found element
    // do smth...
}

// StringCheck defined in header...

template <class T>
struct StringCheck{
    StringCheck(const T &s) : s_(s) {}
    bool operator()(const myClass &obj) const
    { …
Run Code Online (Sandbox Code Playgroud)

c++ vector c++03

5
推荐指数
1
解决办法
166
查看次数

标签 统计

c++ ×1

c++03 ×1

vector ×1