#include#include #include using namespace std;using namespace boost::property_tree;//其实有点像std::list,自己可以构造一个任何类型的节点插进去,特别数组类型,用法太灵活了int main(){ std...
分类:
Web程序 时间:
2014-07-22 23:22:57
阅读次数:
257
#include#include #include #include #include //解析下面的json//pairint main(){ using namespace boost::property_tree; std::string strJson = "{ \"people...
分类:
Web程序 时间:
2014-07-22 22:59:52
阅读次数:
230
写在前面用自己的话分析清楚~智能指针是如何使用的?强指针是如何实现?弱指针如何转化为强指针?智能指针的使用智能指针的使用必须满足如下条件:这个类需要继承自RefBase为什么需要虚析构函数?虚析构函数是为了解决这样的一个问题:基类的指针指向派生类对象,并用基类的指针删除派生类对象。虚函数的出现是为了...
分类:
其他好文 时间:
2014-07-22 22:46:36
阅读次数:
446
01.#include
02.#include
03.#include
04.
05.typedef std::list list_any;
06.
07.//关键部分:可以存放任意类型的对象
08.void fill_list(list_any& la)
09.{
10. la.push_back(1000)...
分类:
其他好文 时间:
2014-07-21 22:47:37
阅读次数:
249
shared_ptr智能指针的意思即:boost::shared_ptr是可以智能的管理动态分配的内存资源,几个智能指针可以同时共享一个动态分配的内存的所有权。
下面我们通过一个例子来学习一下它的用法:
注 :使用shared_ptr智能指针,要加入#include 头文件
class example
{
public:
~example() { std::cout "...
分类:
其他好文 时间:
2014-07-21 22:43:47
阅读次数:
297
实际上auto_ptr 只是C++标准库提供的一个类模板,它与传统的new/delete控制内存相比有一定优势,使用它不必每次都手动调用delete去释放内存。当然有利也有弊,也不是完全完美的。
本文从下面的8个方面来总结auto_ptr使用的大部分内容。
1. auto_ptr是什么?
auto_ptr 是C++标准库提供的类模板,auto_ptr对象通过初始化指向由new创建的动态内存,...
分类:
编程语言 时间:
2014-07-21 22:22:38
阅读次数:
276
上篇文章中,我们介绍了为什么应该彻底避免编写拷贝构造函数和赋值操作符。今天这篇我们讨论下为什么应该避免在析构函数中编写代码。即让析构函数为空。
例如:
virtual ~MyClass()
{
}
我们用空析构函数这个术语表示花括号内没有代码的析构函数。
需要编写析构函数可能有如下几个原因:
在基类中,可能需要声明虚拟析构函数,这样就可以使用一个指向基类的指针指向一个派生类的实例...
分类:
其他好文 时间:
2014-07-21 13:33:46
阅读次数:
188
当前boost最新版本为1.55,下载地址:http://sourceforge.net/projects/boost/files/boost/1.55.0/boost官网上提供了使用指导,part2:Instllation就说明了如何去编译,地址:http://www.boost.org/boos...
从www.boost.org下载当前boost库,当前文件名为:boost_1_55_0.tar.gz在当前位置解压。tar -xvf boost_1_55.tar.gz 进入解压后的目录,执行bootstarp.sh脚本。./bootstarp.sh 运行完毕后,目录中多出b2和bjam,运...
分类:
系统相关 时间:
2014-07-21 11:21:16
阅读次数:
360