随笔分类 -  C++学习

摘要:第12章 类在类内部定义的成员函数,将自动作为inline处理。也可以显式的将成员函数声 明为inline。inline成员函数的定义必须在调用该函数的每个源文件中是可见的,故inline函数的定义通常放在定义该类的头文件中。类声明:为了在类定义之前使用它,我们可以先声明它,此时该类称为不完全类型。不完 全类型只能以有限访问时用。不能定义该类型的对象。不完全类型只能用于定义指向该类型的指针及引用,或者用与声明(而不是定义)使用该类型作为形参类型或 返回类型的函数。类的声明一般用来编写相互依赖的类。可以把数据成员声明为nutable(不能同时为const修饰),mutable数据成员可以在con 阅读全文

posted @ 2012-08-28 21:52 stronger 阅读(225) 评论(0) 推荐(0)

摘要:第17章 用于大型程序的工具栈展开:用于描诉在查找catch捕获抛出异常的函数过程。在进入相应catch之前,撤销在异常之前构造的局部对象。重新抛出:一个空的throw——没有指定表达式的throw。只有捕获子句或者从catch直接或间接调用的函数中的重新抛出才有效,其效果是将接到的异常对象重新抛出。捕获所有异常的catch子句为catch(...)。如果catch(...)与其他catch子句结合使用,它必须是最后一个,否则,任何跟在它后面的catch子句都将不能被匹配。函数测试块:为了处理来自构造函数初始化的异常,必须将构造函数编写为函数测试块。 T::T() try : val(0),s 阅读全文

posted @ 2012-08-28 21:48 stronger 阅读(232) 评论(0) 推荐(0)

摘要:第15章 面向对象编程虚函数:基类希望派生类重新定义的函数定义为virtual。除了构造函数外,任意非static成员函数都可以是虚函数(一般需要定义虚析构函数)。保留字只在类内部的成员函数声明中出现,不能用在类定义体外部出现的函数定义上。派生类型必须对想要重定义的每个继承成员进行声明,且必须与基类中的定义方式完全匹配(只有一个例外,返回对基类型的引用或指针,可以变为返回派生类型的引用或指针)。一旦函数在基类中声明为虚函数,它就一直未虚函数。动态绑定:动态绑定使编译器能够在运行时决定使用基类中定义的函数还是派生类中定义的函数。要触发动态绑定,必须满足两个条件:第一,只有指定为虚函数的成员函数才 阅读全文

posted @ 2012-08-28 19:06 stronger 阅读(528) 评论(0) 推荐(0)

摘要:const使用总结 const修饰变量,表示该变量为常量,必须在定义是初始化,且不能修改它的值。const修饰指针:const int *ip = &val:ip是指向const对象(int)的指针,即不能通过(*ip)修改val的值(如果val不是const常量,可以通过其他方式修改val的值);int *const ip = &val:ip是指向int对象的const指针,即不能修改ip的值,但(*ip)的值可以修改;const int *const ip=&val:ip是指向const对象的const指针。Const修饰函数:const int& op(c 阅读全文

posted @ 2012-08-25 19:33 stronger 阅读(405) 评论(1) 推荐(0)

摘要:C++ Primer学习笔记(第一部分)第2章 变量和基本类型在命令行下看main函数的返回值,Unix为(echo $?),Windows为(echo %ERRORLEVEL%)。为了兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符(null)。多行字面值:在一行的末尾加一反斜线符号(\)可将此行和下一行当做同一行处理。C++支持两种初始化变量的形式:复制初始化和直接初始化。复制初始化语法用等号(=),直接初始化则是把初始化放在括号中。声明和定义:声明不能初始化,也不会分配空间。在C++语言中,变量必须且仅能定义一次,而且在使用变量之前必须定义或声明变量。因为常量在定 阅读全文

posted @ 2012-08-21 21:09 stronger 阅读(1068) 评论(0) 推荐(2)

导航