c – 使用构造函数作为谓词

我们可以使用构造函数作为谓词吗?到目前为止,我能够做到的是:

std::vector<const char*> v1 = {
    "Hello", "from", "GCC", __VERSION__, "!"
};
std::vector<std::string> v2(v1.size());
std::transform(v1.begin(), v1.end(), v2.begin(),
    [] (const char* s) { return std::string(s); });

但我想要一些方法来做std :: tranform(…,std :: string).我试过std :: string :: string,std :: string :: basic_string和std :: string :: basic_string< char>.

最佳答案
我会这样做:

std::vector<std::string> v2(v1.begin(), v1.end());

转载注明原文:c – 使用构造函数作为谓词 - 代码日志