您的位置:首页 > 其它

标准容器应用 及 工厂函数介绍

2018-01-18 22:17 274 查看
shared_ptr很好的解决了delete的使用,但是new的使用必不可少
工厂函数解决了shard_ptr的new的显式使用,因为其构造是使用new实现,导致代码不对称
因此定义了一个自由工厂函数make_shared<T>();定义在头文件<boost/make_shared.hpp>
实例例子:int main()
{
typedef vector<shared_ptr<int>>vs; //一个拥有shared_ptr的标准容器
vs v(10);//声明元素

int i = 0;//初始化空指针
for (vs::iterator pos = v.begin();pos != v.end();++pos)
{
(*pos) = make_shared<int>(++i);//工厂函数赋值
cout << *(*pos) << " ,";
}
cout <<endl;
shared_ptr<int> p = v[9];
*p = 100;
cout << *v[9] <<endl;

system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: