- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 Inside the C++ Model第二讲之 成员初始化列表(Member Initialization List)
对于C++的成员初始化列表(member initialization list),在以下情况下必须使用 1 当初始化一个reference member时 2 当初始化一个const member时 3 当调用一个base class的构造函数,而它拥有一组参数时 4 当调用一个member class的constructor,而它拥有一组参数时。 例如:class Word {
2017-07-22 22:44:29 370
转载 Inside the C++ Model第二讲之 程序转化语意学(Program Transformation)
发现这篇博客 深度探索C++对象模型—程序转化语意学写的非常好,就直接转载过来 以下包括编译器调用拷贝构造函数的策略,以及这些怎么影响程序,拷贝构造函数的应用,使编译器作一些转化 编译器通常的3种转化 1显示的初始化操作的转化 如果定义 X x0;对于下图三种显示初始化: 编译器对程序的转化包括两个阶段 (1)重写每一个定义,并且其中的初始化操作会被剥夺 (2)class的拷贝构造
2017-07-22 22:41:14 369
原创 Inside the C++ Model第二讲之 Copy Constructor的构造操作
Default Memberwise Initialization如果class没有提供一个explicit copy constructor又当如何呢?当class object以”同一个class的另一个object”作为初值,其内部是以default memberwise initialization来完成的.也就是把每一个内建的或派生的data member(例如一个指针或一个数组),从某一
2017-07-22 22:29:58 349
原创 Inside the C++ Model第二讲之 Default Constructor的构造操作
**Default Constructor的构造操作** “带有Default Constructor”的Member Class Object 如果一个class没有任何constructor,但它内含一个member object, 而后者有default constructor,那么这个class的implicit default constructor就是”nontrivial”,编译器
2017-07-22 22:21:16 341
原创 Inside the C++ Object Model 第一讲: 关于对象
在C语言中,我们如果想声明一个struct Point3d,像这样:typedef struct Point3d{ float x; float y; float z; }Point3d;某个点特定的坐标可以直接存取,如:Point3d pt; pt.x=0.0;在C++中,Point3d有可能采用独立的”抽象数据类型(abstract data type, ADT)”来实现
2017-07-09 12:02:20 1631
原创 kmp算法
学习KMP算法的时候,这篇博客KMP算法详解给了我很大帮助,不过博客中有些内容对于初学者还是理解困难,现在在这篇博客的基础上进行整理,希望把KMP算法讲解的更清楚一些. kmp算法又称“看毛片”算法,是一个效率非常高的字符串匹配算法。kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O中出现,如果出现则返回出现的位置。常规方法是遍历a的每一个位置,然后从该位置开始和b进行
2017-07-06 15:46:48 262
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人