More Effective C++
michael019
这个作者很懒,什么都没留下…
展开
-
More Effective C++ ——08_理解各种不同含义的new和delete
条款八:理解各种不同含义的new和delete1.区别 new操作符(new operator)和operator new string *ps = new string("Memory Management");这里的new是new operator。就象sizeof一样是语言内置的,你不能改变它的含义,它完成两个功能。 1)分配内存 2)调用构造函数初始化内存中的对象。(C语言中ma原创 2015-09-24 15:03:13 · 485 阅读 · 0 评论 -
More Effective C++ ——019_理解临时对象的来源
条款十九:理解临时对象的来源什么叫临时变量?先看下面这个例子: template<class T> void swap(T& object1, T& object2) { T temp = object1; object1 = object2; object2 = temp; }一般人把temp叫做临时变量。但对C++而言,temp根本不是临时变量,它是一个函数的局部原创 2015-09-24 17:49:46 · 638 阅读 · 0 评论 -
More Effective C++ ——01_指针与引用的区别
条款一:指针与引用的区别 指针与引用看上去完全不同(指针用操作符’*’和’->’,引用使用操作符’.’),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。 问题:你如何决定在什么时候使用指针,在什么时候使用引用呢? 区别1:引用必须初始化(现代编译器会进行检查),而指针不用强求,虽然不初始化会带来安全隐患。 注:不存在指向空值的引用这个事实意味着使用引用的代原创 2015-09-23 15:47:12 · 385 阅读 · 0 评论 -
More Effective C++ ——02_尽量使用C++风格的类型转换
条款二:尽量使用C++风格的类型转换C风格的类型转换的特点: 一、它们过于粗鲁,能允许你在任何类型之间进行转换。 例如把一个指向const对象的指针(pointer-to-const-object)转换成指向非const对象的指针(pointer-to-non-const-object)(即一个仅仅去除cosnt的类型转换),把一个指向基类的指针转换成指向子类的指针(即完全改变对象类型)。 传原创 2015-09-23 16:34:33 · 397 阅读 · 0 评论 -
++与 -- 操作符前缀形式与后缀形式的区别
class UPInt // "unlimited precision int"{ public: UPInt& operator++(); // ++ 前缀 const UPInt operator++(int); // ++ 后缀 UPInt& operator--(); // -- 前缀 const UPInt operator--(int); // -- 后缀原创 2016-01-19 10:52:51 · 2601 阅读 · 1 评论