- 博客(16)
- 收藏
- 关注
原创 [Dive into Python:第四章]:自省的威力
[Dive into Python:第四章]:自省的威力函数的定义,and-or的使用,lambda表达式,getattr,
2016-09-17 21:43:19
437
原创 [Dive into Python:]第一个 Python 程序程
[Dive into Python:]第一个 Python 程序Python缩进、函数定义、\__name\__
2016-09-10 22:02:07
977
原创 effective C++ 第三章:C++构造、析构和赋值
一、为动态内存分配的类提供拷贝构造与赋值操作符,以避免使用缺省的拷贝构造与缺省赋值操作时由于类的成员变量间的内存拷贝造成程序crash。 拷贝构造函数和赋值运算符,官方的规则是:缺省拷贝构造函数(赋值运算符)对类的非静态数据成员进行 “以成员为单位的” 逐一拷贝构造(赋值)。即,如果m是类C中类型为T的非静态数据成员,并且C没有声明拷贝构造函数(赋值运算符),m将会通过类型T的拷贝构造函数(赋值
2016-03-24 00:26:40
296
原创 effective C++ 第七章:C++杂项
一、C++提供的缺省操作 如果一个类不提供某些操作,C++编译器会提供缺省/默认的相关操作,而且这些操作都是public的。 1.缺省构造:如果你没有定义任何构造函数,编译器将在你定义个该类的对象的时候为你提供一个缺省构造函数,分别调用该类的成员变量对应的缺省构造函数对该类的各个成员进行初始化。class defualtServer{ int m_i; s
2016-03-23 22:44:06
403
原创 effective C++ 第一章:从C转向C++
一、使用const和inline取代#define1.使用const定义常量来代替预处理宏定义一个常量:const double ASPECT_RATIO = 1.653这种方法很有效。但有两个特殊情况要注意。 - 定义指针常量时会有点不同,因为常量定义一般是放在头文件中(许多源文件会包含它),除了指针所指的类型要定义成const外,重要的是指针也经常要定义成const。例如
2016-03-22 23:21:45
752
原创 C++11智能指针——weak_ptr
weak_ptr是为了解决shared_ptr的自引用以及交叉引用而引入的智能指针。顾名思义,weak_ptr是弱指针,因为其不具备指针的一系列操作:operator *,operator->,operator[]等,也不管理具体的原始指针。它仅仅作为一个观察者,协助shared_ptr管理原始指针。
2016-03-20 22:47:44
903
原创 C++常识——C++类的大小
说明: 1.非纯虚函数的所有成员函数都不占类的大小 2.纯虚函数由于需要有一个指针指向虚表,因此会生成一个虚指针,占用4个字节 3.成员变量根据对齐规则不同而占用不同的内存 4.静态函数以及静态成员变量都不占用类的大小 5.空类占用1个字节
2016-03-20 14:35:48
654
原创 C++11 智能指针——shared_ptr
shared_ptr是C++11中最智能的指针,它使用引用计数,当使用一个shared_ptr构造或赋值给另外一个shared_ptr时,引用计数+1.当一个shared_ptr销毁时引用计数-1,直到引用计数为0时,delete掉申请的资源。问题:1.关于shared_ptr()构造:shared_ptr<int> ipNull();这里的ipNUll会被解释为function,不可以作为左值
2016-03-07 22:22:37
909
原创 C++11 智能指针——unique_ptr
unique_ptr是C++11从boost中引进取代auto_ptr的智能指针,原始指针对象被一个unique_ptr所独占,不可共享。不仅适用于new创建的单个对象,也适用于new[]创建的数组对象。unique_ptr不允许拷贝构造以及拷贝赋值(使用了 = delete显示的删除其拷贝构造与拷贝赋值函数),但可以使用reset来重置管理的原始指针。
2016-03-05 21:39:41
3386
原创 C++11 智能指针——(C++98)auto_ptr
auto_ptr是严格的拥有权类智能指针,使用时注意以下几点 绝对不应使用一个原始指针来初始化2个或2个以上的auto_ptr对象 auto_ptr对象通过赋值或构造转移拥有权,一旦拥有权转移,此auto_ptr所拥有的将是一个原始指针 auto_ptr不适用于array auto_ptr不满足STL对容器元素的要求,因此不适用于STL容器。因为在拷贝和赋值之后,新的auto_ptr和旧的auto_ptr对象并不相等。 如果要阻止拥有权的转移,则应该在停止转移之前,
2016-03-05 13:39:54
2025
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人