
Effective C++学习笔记
文章平均质量分 72
疯狂的红豆
拥有热情相信未来
展开
-
一个空类被编译器编译后产生了哪些默认函数
一个空的class在C++编译器处理过后就不再为空,编译器会自动地为我们声明一些member function,如果你写 class A{}; 编译器处理后,就相当于: class A{ public: A(); //默认构造函数A(const A&); //拷贝构造函数~A(); //析构函数A& operator=(const A& r原创 2012-12-07 22:15:25 · 3215 阅读 · 1 评论 -
explicit关键字
我是在Effective C++那本书上关于转换那块看到的关键字explicit,觉得是很新的东西,然后就去百度,看到这篇文章很好,就转了下来。文章原文出处:点击打开链接今天看到公司的代码内有大量的explicit关键字,但是老版的MSDN内例子并不完善,实在是不明白,最终从网上一篇文章内找到了答案:原来explicit是为了防止隐式使用拷贝构造函数的.以下附上从新版MSDN中找到转载 2012-12-07 23:02:35 · 1403 阅读 · 0 评论 -
C++中的const关键字系列——常类型与常指针之间的纠缠
说起const这个关键字,想必大家都不会陌生了。因为在高级编程语言的范畴内,几乎都有这么一个关键字。因为最近的一段时间内在类的设计与实现的时候,有某些需求是要用到const修饰符来修饰那些变量或是函数的,所以在用的同时也去百度了一下,同时也在看林锐博士的,还有,这三本书中的const部分。在不断的学习过程中不断的做总结,先从常类型与常指针之间的关联总结起吧。const可以修饰一个类原创 2012-12-26 18:44:15 · 2146 阅读 · 0 评论 -
C++高级特性——重载
C++作为一个面向对象的语言(虽然不是完全的面向对象,和C#与Java这样的完全面向对象语言比较可得,说这个不表达语言之争,勿喷)。C++的高级特性具备了OO的三个(封装,继承,多态),当然OO的这三个并不仅仅是C++拥有的特性,而是具备面向对象的思想的语言都具备的,这里请注意是面向对象的语言,这一点很重要。因为只有支持继承与多态的才算是面向对象,而C语言的结构体所体现出来的封装特性仅仅算上是基于原创 2012-12-27 11:07:49 · 2560 阅读 · 0 评论 -
声明与定义&&赋值与初始化详解
我想不管是现在学C系语言的人,还是学习Java等以及其他语言的人最初的入门语言应该都是C语言吧。C语言的难易程度是否适合作为编程入门语言我恐怕没有这个能量来论述一番。我想说的是C语言中的这几个名词(RT)自从最开始出现就一直萦绕在耳边,停留在口头上,但却又总是分不清,道不明的。最近几天搜集了一些这方面的文章与帖子来总结一下,总结是一项很好的学习方法,如果你能把你所学的东西说给别人听,并且把别人说懂原创 2012-12-27 12:38:55 · 7237 阅读 · 1 评论 -
C++如何拒绝对象的copy
中的一个条款,如果是想要阻止一个对象的复制或是copy assignment操作应该怎么做呢?class HomeForSale {};HomeForSale h1;HomeForSale h2;HomeForSale h3(h1); //企图调用h3的copy构造函数克隆出一份h1h1 = h2; //企图调用co原创 2013-04-29 13:58:36 · 3404 阅读 · 0 评论