【C++ Primer 习题集】(第5版)
练习12.2(P298):编写你自己的StrBlob类,包含const版本的front和back。
StrBlob是一个字符串类的变长容器,在访问、尾部添加、尾部删除时带有下标越界检查。
#include<algorithm>
#include<string>
#include<vector>
#include<initializer_list>
#include<memory>
#include<stdexcept>
#include<iostream>
#pragma warning(disable:4996)
using std::string; using std::vector; using std::make_shared; using std::shared_ptr; using std::size_t;
using std::initializer_list; using std::out_of_range; using std::cin; using std::cout; using std::endl;
class StrBlob {
public://公有成员
StrBlob() {
data = make_shared<vector<string>>(); }//参数为空的构造函数
StrBlob(const initializer_list<string>& i) {
data = make_shared<vector<string>>(i);