您的位置:首页 > 编程语言 > C语言/C++

C++ Primer 第5版--练习9.41

2017-02-09 11:43 260 查看
练习 9.41:编写程序,从一个vector<char>初始化一个string。

首先给一个网上的答案:

#include <iostream>
#include <string>
#include <vector>

using std::cout;
using std::endl;
using std::string;
using std::vector;

int main()
{
vector<char> c = {'h', 'e', 'l', 'l', 'o', '!'};
string s(c.begin(), c.end());
cout << s << endl;
return 0;
}

但个人觉得不符合习题所在章节试图传授的知识,切合题意的答案应该是使用string s(cp, n)的形式:

#include <iostream>
#include <string>
#include <vector>

using std::cout;
using std::endl;
using std::string;
using std::vector;

int main()
{
vector<char> c = {'h', 'e', 'l', 'l', 'o', '!'};
string s(&c[0], c.size());
cout << s << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++Primer 练习