我正在学习c++,因此自然而然地我一直在鬼混试图弄清楚我能做什么和不能做什么。我已经写了一小段代码来处理lambda和字符串,但是似乎给了我一些问题:S。

我在 vector 中存储了两个字符串,一个是巧克力,另一个是 Vanilla 。我想将软糖连接到最后。我在声明相关的库。一切都会编译并运行。但没有任何串联:S任何帮助将不胜感激。提前致谢。

void main()
{

     vector<string> ramzy;
     ramzy.push_back("chocolate");
     ramzy.push_back("vanilla");

     for_each(ramzy.begin(),ramzy.end(),
         [](string word)->string{
             string i = word + " fudge";
             return (i);
         } );

     cout << ramzy[0] << endl << ramzy[1] << endl;

}

输出如下所示:
chocolate
vanilla

所需的输出如下所示:
Chocolate Fudge
Vanilla Fudge

最佳答案

reference:



因此,您必须将lambda更改为:

[](string& word)
{
    word += " fudge";
}

关于c++ - for_each将字符串连接到 vector 中的所有字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17078339/

10-08 21:32