读书笔记
123.56.119.133:8090
http://123.56.119.133:8090/
展开
-
《C和指针》读书笔记(三)
C语言没有bool类型,所以只能用0代表假,非0代表真尽量少用goto语句,能不弄则不用,goto语句只在一种情况下比较好,就是跳出多层嵌套循环时。算术操作运算符:+ - * / % (%只接受整形)左移:全部补零右移:逻辑移位:补零 算数移位:根据符号位//计算一个值中1的个数(最初版)#includeusingnamespac原创 2016-03-29 19:21:10 · 217 阅读 · 0 评论 -
《C++primer》读书笔记三
第十五章:面向对象编程三个基本概念:数据抽象,继承,动态绑定。在C++中,用累进性数据抽象,用类派生从一个类继承另一个类,派生类继承基类的成员。动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数。面向对象编程的关键思想是:多态性1.继承:派生类,基类。2.动态绑定:通过动态绑定,我们能够编写程序使用继承层次中任意类型的对象,无需关心对象的具体类型。原创 2016-04-19 17:10:25 · 247 阅读 · 0 评论 -
《C++primer》读书笔记二
13章.复制控制复制构造函数。赋值操作符和析构函数总称为复制控制。编译器自动实现这些操作,但类也可以定义自己的版本。需要定义自己的复制控制成员的:类具有指针成员。13.1复制构造函数(拷贝构造):只有单个形参,而且该形参是对本类类型对象的引用(常用const修饰),这样的构造函数称为复制构造函数。复制构造函数可用于:1.根据另一个同类型的对象显示或隐式初始化一个对象2.复制原创 2016-04-16 08:34:27 · 248 阅读 · 0 评论 -
《C++primer》读书笔记四
模板参数的名字,在它被声明为模板参数后,一直到模板声明或定义的结束,都可以被使用,如果在全局域中声明了与模板参数同名的变量,则该变量被隐藏。typedefdouble Type;templateclasstype>classQueue{public: //...private: Type ite原创 2016-05-10 23:51:00 · 226 阅读 · 0 评论 -
《C++primer》读书笔记一
数据抽象和封装的两个优点:1.避免类内部出现无意的,可能破坏对象状态的用户级错误。2.随时间的推移,可以根据需求改变或缺陷报告来完善类实现。无需改变用户及代码。从const成员函数返回*this不能从const成员函数返回指向类对象的普通引用。const成员函数只能返回*this作为一个const引用。12.3类作用域在类作用域之外,成员只能通过对象或指针分原创 2016-04-13 09:47:41 · 342 阅读 · 0 评论 -
《高质量C++/C编程指南》读书笔记三
每个类只有一个析构函数和一个赋值函数。可有多个构造函数。把对象的初始化放在构造函数中,把清除工作放在析构函数中。然后编译器会自动进行初始化和清除工作。构造函数和析构函数没有返回值类型。9.2构造函数的初始化列表位于函数参数表之后,{ }之前,类的const常量只能在初始化列表中初始化,9.3构造函数的次序构造从类的最根层调用,首先调用基类的构造函数,然后调用成员对象的构造函原创 2016-04-10 11:01:50 · 305 阅读 · 0 评论 -
《C和指针》读书笔记(二)
C语言中,仅有4种基本数据类型-整形,浮点型,指针和聚合类型(数组和结构)short int 至少16位,long int 至少32位头文件 limits.h说明了各种不同的整型类型的特点常量不能修改但是可以通过char *message="Hello World" char *message; message="Hello World";int const a; const原创 2016-03-28 15:07:17 · 244 阅读 · 0 评论 -
《高质量C++/C编程指南》读书笔记一
const和define的比较在C++中const 和#define 都能够定义常量。但是前者与后者相比,有一些优点。1.const定义的常量有数据类型,而#define定义的常量没有数据类型。编译器会对前者进行安全类型检查,对后者编译时只是做简单的字符替换替换。没有安全检查,而且在替换的时候经常出现意想不到的错误,唯一能做的是不要吝啬()。2.有些集成化调试工具会对const常量原创 2016-04-06 12:58:19 · 361 阅读 · 0 评论 -
《高质量C++/C编程指南》读书笔记二
相比较C语言,C++增加了重载,内联,const和 virtual 四种新机制。其中,重载和内联既可用于全局函数,也可用于类的成员函数。 const 和virtual机制仅用于类的成员函数。函数重载:编译器根据参数为每个重载函数产生不同的内部标识符(不同编译器产生的内部标识符不同)。C++调用C函数 --->用extern "C"重载与覆盖:成员函数被重载的原创 2016-04-08 00:08:33 · 325 阅读 · 0 评论 -
《C和指针》读书笔记(一)
#include#include#include#defineMAX_COLS20#defineMAX_INPUT1000//函数原型intread_column_numbers(intcolumns[],intmax);//在其它语言中,这种无返回值的函数叫做过程voidrearrange(char* output,ch原创 2016-03-25 15:09:38 · 294 阅读 · 0 评论 -
C语言深度剖析读书笔记(一)
#include#includeintmain(){ inta[5] = { 1, 2, 3, 4, 5 }; int* ptr1 = (int*)(&a + 1); int* ptr2 = (int*)((int)a + 1); printf("%x,%原创 2016-03-24 17:22:25 · 275 阅读 · 0 评论 -
《C++ primer 第九章-函数重载》读书笔记
函数重载:在相同作用域,函数名相同,参数列表不同。 以便实现不同数据类型的操作函数重载:函数名相同,返回值可以不同,参数一定不同 (参数个数不同或参数类型不同)函数重载解析的步骤如下:1.确定函数条用考虑的重载函数的集合,确定函数调用中参数表的属性。2.从重载函数集合中选择函数,该函数可以再(给出参数个数和类型)的情况下用调用中指定的参数进行调用。3.选择与调用原创 2016-03-30 19:03:40 · 196 阅读 · 0 评论 -
Scala对象
Scala对象 将通用代码放入包对象 解决办法 不使用new关键字创建对象实例 解决办法 方法一:为类创建伴生类,在伴生类中实现apply方法 方法二:将类定义为case class 本质 实例代码 scala中使用apply方法实现工厂方法 解决办法 Scala对象将通用代码放入包对象将通...原创 2019-08-27 20:55:09 · 192 阅读 · 1 评论