c++编程思想读书笔记
剑有偏锋
github.com/baidang201
www.jianshu.com/u/349d823c5236 剑有偏锋
客户端软件开发工程师,精通C++,目前学习区块链技术。熟悉golang python C#
前能建站,后能爬虫
展开
-
C++编程思想读书笔记之 第一章 对象的演化
这一章描述了对象的基本概念,描述了c++成功的因素,然后介绍了详细方法学,还有从面向过程到面向对象的转变而采取的策略。 c++相对于c的优势有, (1)大程序的设计时,c的命名冲突是致命的,而c++有命名空间的保护,有效缓解命名冲突 (2)c++有了类,使程序更容易表达,增加了访问控制,提高代码的安全性(安全性也表现在建议使用引用,不建议使用指针) (3)c++和c的执行效率相差1原创 2013-03-10 10:18:41 · 713 阅读 · 0 评论 -
C++编程思想读书笔记之 第九章 命名控制
命名控制在于防止命名冲突及调用混乱。 命名是编程中不可缺少的部分,他映射一个变量 或一个类 或一个命名空间,编码规范要求见其名只其义,当你命名多的时候,就可能有重名。 你可能就不知道当前使用的对象是不是你想使用的那一个。 在C和C + +中,static都有两种基本的含义,并且这两种含义经常是互相有冲突的: 1) 在固定的地址上分配,也就是说对象是在一个特殊的静态数据区原创 2013-03-25 16:23:36 · 560 阅读 · 0 评论 -
C++编程思想读书笔记之 第十章 引用和拷贝构造函数
引用和指针的区别 1 引用创建时必须初始化(且不可能为NULL),指针不必须 2 引用初始化之后不能更改,指针可以 3 引用类型是安全的,而指针不是 4 引用是别名,指针是实体 引用的优点: 定义引用参数防止出现(*pval)++ 这样丑陋的代码. 像拷贝构造函数这样的应用也是必需的. 而且更明确, 不接受 NULL 指针. 缺点: 容易引起误解, 因为引用在语法上是值变原创 2013-03-26 15:40:15 · 576 阅读 · 0 评论 -
C++编程思想读书笔记之 第八章 内联函数
C++编程思想读书笔记之 第八章 内联函数 内联函数的目的是为了解决程序中函数调用的效率问题。 在程序编译时,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体来进行替换。显然,这种做法不会产生转去转回的问题,但是由于在编译时将函数休中的代码被替代到程序中,因此会增加目标程序代码量,进而增加空间开销,而在时间代销上不象函数调用时那么大,可见它是以目标代码的增加为代价来原创 2013-03-18 08:46:12 · 486 阅读 · 0 评论 -
C++编程思想读书笔记之 第五章 函数重载及缺省参数
C++编程思想读书笔记之 第五章 函数重载及缺省参数 可以通过函数的参数或个数不同来重载函数。 C + +中禁止用返回值重载。 对名字的范围分解还可以带来一个额外的好处。所有的函数在被使用前都必须事先声明。编译器不会自动为我们添加函数声明,所以我们应该包含一个合适的头文件。 名称分解会给我们提供一个安全网。 在使用缺省参数时必须记住两条规则原创 2013-03-13 13:37:55 · 462 阅读 · 0 评论 -
C++编程思想读书笔记之 第二章 数据抽象
所以,库大概是改进效率的最重要的方法。C + +的主要设计目标之一是使库容易使用。这意味着,在C中使用库有困难。 库的形式有多种,如扩展名如L I B的文件,window有扩展名为dll的文件,linux有 扩展名为.so的文件。 在C 中,使用库的最大的障碍是名字冲突问题。C 对于函数使用单个名字空间,所以当连接器找一个函数名时,它在一个单独的主表中查找,而当编译器在原创 2013-03-11 11:34:51 · 552 阅读 · 0 评论 -
C++编程思想读书笔记之 第十一章 运算符重载
C++编程思想读书笔记之 第十一章 运算符重载 运算符重载,像定义一个函数。能使代码更直观,但更难定位重载运算符的调用点, 一般不要重载运算符. 尤其是赋值操作 (operator=)比较诡异,应避免重载.如果需要的话,可以定义类似 Equals(), CopyFrom()等函数. 如果在内部类里实现成员函数时,如果编译器看到 ++c这一形式那就使用opera原创 2013-03-28 08:58:05 · 593 阅读 · 0 评论 -
C++编程思想读书笔记之 第七章 常量
常量const,即一个定义之后不能改变的值。用来替代#define定义字符常量 默认为内部链接,定义时必须赋值,除非用extern说明。 常量折叠说的是,在编译阶段,对该变量进行值替换,同时,该常量拥有自己的内存空间,并非像宏定义一样不分配空间。 常量和指针的结合,const出现在*左边和右边,决定了他修饰指向的数据还是指针。 可以把一个非const原创 2013-03-25 11:10:34 · 519 阅读 · 0 评论 -
C++编程思想读书笔记之 第六章 输入输出流介绍
标准输入输出的缺点 1)即使仅使用解释程序的一部分功能,所有的东西将获得装载。 2)由于解释发生在运行期间,所以不能终止这个执行。 3)由于直到运行期间才对格式串求值,一个更糟糕的问题出现了:可能没有编译时的错误检查。 4)最重要的问题是函数中的printf( )族不是能扩展的,它们被设计是用来处理C中四类基本的数据类型(字符,整型,浮点数,双精度及它们的变形)。原创 2013-03-13 17:14:21 · 642 阅读 · 0 评论 -
C++编程思想读书笔记之 第三章 隐藏实现
需要控制对结构成员的存取有两个理由: 一是让用户避开一些他们不需要使用的工具,这些工具对数据类型内部的处理来说是必须的,但对用户特定问题的接口来说却不是必须的。 二是设计者可以改变s t r u c t的内部实现,而不必担心对用户程序员产生影响。 存取控制通常是指实现细节的隐藏。 首先是决定哪些用户可以用,哪些用户不能用。 然后,就是将具体实现与接口分离开来。原创 2013-03-12 10:27:30 · 605 阅读 · 0 评论 -
C++编程思想读书笔记之 第四章 初始化与清除
C++编程思想读书笔记之 第四章 初始化与清除 如果一个类有构造函数,编译器在创建对象时就自动调用这一函数,这一切在用户使用他们的对象之前就已经完成了。 用析构函数确保清除,可以用于删除构造函数中申请的内存空间,避免内存泄露。 可以等到我们已经知道一个变量的必要信息时再去定义它,所以我们总是可以同时定义和初始化一个变量。在for循环时经常这样做for(int原创 2013-03-12 16:40:13 · 551 阅读 · 0 评论