原创文章,转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38816913
闲谈
从北戴河旅游归来,该收心继续上班了,接下来将继续学习《Effective C++》,今天看的是构造/析构/赋值运算部分。
条款05:了解C++默默编写并调用那些函数
当经过编译器处理后,并没有绝对的空类,例如:
class Empty{ };
编译器会为它声明一个default构造函数,一个copy构造函数、一个copy assignment操作符,一...
分类:
编程语言 时间:
2014-08-25 17:09:24
阅读次数:
246
13.50 没有定义析构函数#include#include#include#include#include#includeusing namespace std;class String{public: String():elements(nullptr),first_free(nullpt...
分类:
移动开发 时间:
2014-08-24 22:11:53
阅读次数:
285
13.44 编写标准库string类的简化版本,命名String。你的类应该至少有一个默认构造函数和一个接受C风格字符串指针参数的构造函数。使用allocator为你的String类分配所需内存。13.47 添加拷贝构造函数和拷贝赋值运算符,并添加打印语句,则每次函数执行时打印一条信息。13.48 ...
分类:
其他好文 时间:
2014-08-24 16:41:22
阅读次数:
276
当C++编译器通过它的时候。如果你没有声明下列函数,体贴的编译器会声明它自己的版本。这些函数是:一个拷贝构造函数,一个赋值运算符,一个析构函数,一对取址运算符。另外,如果你没有声明任何构造函数,它也将为你声明一个缺省构造函数。所有这些函数都是公有的。换句话说,如果你这么写:class Empty{}...
分类:
编程语言 时间:
2014-08-24 14:04:52
阅读次数:
211
由于二维字符数组的第二维没有赋值运算符,即不能对整个一维数组进行赋值,因此是无法直接对二维数组用sort进行排序的,解决办法有二种:代码一: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 struct Data 7 {...
分类:
其他好文 时间:
2014-08-24 11:35:52
阅读次数:
125
指针和引用的区别:
1.指针可以为空,引用不可以为空。
2.指针初始化后可以重新指向新对象,引用初始化以为不可以重新绑定新对象,
3.指针可以在初始化时赋值,可以初始化以后通过赋值运算符(=)赋值;引用只能在初始化时赋值。
4.指针是个实体(占内存4byte),引用只是个别名(不占内存)
5.指针sizeof是4byte,引用sizeof是绑定对象的大小。
6.指针是类型安全,引用...
分类:
其他好文 时间:
2014-08-21 19:25:54
阅读次数:
171
C++允许模版化类中的单个方法,这些方法可以在一个类模版中,也可以在一个非模版化的类中。
在编写一个模版化的类方法时,实际上是为不同类型编写不同版本的方法,在类模版中,方法模版对赋值运算符和复制构造函数非常有用。
要注意的是,不能用方法模版编写虚方法和析构函数。
1.一个普通类中的方法模版例子:
#include
using namespace std;
class man{
priva...
分类:
编程语言 时间:
2014-08-20 12:39:22
阅读次数:
261
啥是POD类型?POD全称Plain Old Data。通俗的讲,一个类或结构体通过二进制拷贝后还能保持其数据不变,那么它就是一个POD类型。平凡的定义1.有平凡的构造函数2.有平凡的拷贝构造函数3.有平凡的移动构造函数4.有平凡的拷贝赋值运算符5.有平凡的移动赋值运算符6.有平凡的析构函数7.不能...
分类:
编程语言 时间:
2014-08-18 01:30:43
阅读次数:
309
不要把相等运算符(==)与赋值运算符(=)搞混。以&&运算符隔开的两个条件中的前者为错,则不会检测第二个条件的真假。利用这一点,可以提高脚本的速度。使用带switch的多个条件if(button=="next") window.location = "next.html"; else if(b...
分类:
编程语言 时间:
2014-08-17 22:41:13
阅读次数:
180
缩进层级:4个空格行长度 : 80个字符换行:符号换行,赋值时,第二行位置应当和赋值运算符的位置保持对齐方法之间使用空行常量大写,字母间下划线不使用驼峰字符串使用双引号使用对象直接量,在直接量中直接写出所有属性var book = { title: "New book", author: "Ni.....
分类:
其他好文 时间:
2014-08-13 21:41:27
阅读次数:
184