- 博客(3)
- 收藏
- 关注
原创 g++ warn_unused_result
介绍在编程过程中,有的函数我们需要确保函数的返回值必须被使用。但是如果函数使用者直接调用函数且不使用函数的返回值的话,g++ 不会给出warning。这样可能会导致很难寻觅的bug。如调用realloc函数,函数调用者必须使用函数的返回值获得重新分配内存的指针。 利用g++ common function attributes 中提供的warn_unused_result 可以保证函数的返回...
2018-08-24 14:22:07 4798 1
原创 C++11 智能指针
智能指针的思想c++ 要求程序员自己管理内存,为程序员提供了更高自由度,但更高的自由度同时意味着更多责任。为了减少c++程序员在使用裸指针时可能带来的内存泄露,c++11 引入智能指针帮助程序员管理内存。智能指针背后的设计思想是RAIIunique_ptrunique_ptr 设计的目的是保证指针变量只指向一个实体,避免出现有其他指针变量指向相同实体,或者此指针变量指向同类型的其他...
2018-08-08 16:47:51 189
原创 Json library implemented by boost variant
Json library implemented by boost variantboost variant 介绍boost variant 是一个不同union的泛型类,用于存储和操作不同类型但在使用时存在相同抽象的对象。variant 在实现不同类型的泛型的同时,提供对其包括的具体类型的安全访问。 基于此性质,boost variant 可以应用于json 这种数据结构,我们把j...
2018-08-01 19:18:51 265
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人