给定一个类型为std::string的字符串std::string,我构建了另一个字符串s2,如下所示
std::string(s.begin(), s.begin() + s.find(" "))但是下面的构造函数不起作用
std::string(s.begin(), s.find(" "))有人知道为什么吗?我用的是g++ 4.8.1 under Ubuntu amd64
两个构造函数都有一个迭代函数作为第二个参数。
在本例中,我试图构建一个包含第一个子字符串的字符串,该字符串的末尾是第一个空格。
发布于 2013-11-26 09:36:12
也许您在考虑std::find()算法,它会返回迭代器吗?
#include <iostream>
#include <algorithm>
int main()
{
std::string s = "Derek Smalls";
std::string s2(std::begin(s), std::find(std::begin(s), std::end(s), ' '));
std::cout << s2 << std::endl;
}看到它在运行!
https://stackoverflow.com/questions/20212735
复制相似问题