摘要: 代码部分转载自:C++ 类的静态成员及静态成员函数 1、类的静态成员与类本身相关,与类的各个对象无关,它存在于任何对象之外,所有的对象共享静态成员,所以在计算对象大小时,不包含静态数据成员。 2、静态成员函数不能声明为const的,因为这样非const对象就不能使用了;并且不包含this指针,因为t 阅读全文
posted @ 2018-12-20 23:22 zhizhiyu 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 一、题目描述 国际象棋中的骑士可以按下图所示进行移动: 我们将 “骑士” 放在电话拨号盘的任意数字键(如上图所示)上,接下来,骑士将会跳 N-1 步。每一步必须是从一个数字键跳到另一个数字键。 每当它落在一个键上(包括骑士的初始位置),都会拨出键所对应的数字,总共按下 N 位数字。 你能用这种方式拨 阅读全文
posted @ 2018-12-20 22:19 zhizhiyu 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 一、题目描述 给定一个方形整数数组 A,我们想要得到通过 A 的下降路径的最小和。 下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列。 示例: [1,4,7], [1,4,8], [1,5,7], [1,5,8], [1,5,9] [2, 阅读全文
posted @ 2018-12-20 22:13 zhizhiyu 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 1、noncopyable允许程序轻松地实现一个禁止拷贝的类,在头文件<boost/noncopyable.hpp>中 2、实现原理很简单:noncopyable的实现就是用了C++中的阻止拷贝, 参考《C++ Primer》第五版P449或者我的笔记类的设计(2)——拷贝控制(阻止拷贝) 1)方式 阅读全文
posted @ 2018-12-20 21:46 zhizhiyu 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 1、类的行为分类:看起来像一个值;看起来想一个指针。 1)类的行为像一个值,意味着他应该有自己的状态。当我们拷贝一个像值的对象时,副本和原对象是完全独立的。改变副本不会对原有对象有任何影响,反之亦然。 2)行为像指针的类则共享状态。当我们拷贝一个这种类的对象时,副本和原对象使用相同的底层数据。改变副 阅读全文
posted @ 2018-12-20 18:50 zhizhiyu 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1、阻止拷贝的原因:对于某些类来说,拷贝构造函数和拷贝赋值运算符没有意义。举例:iostream类阻止了拷贝,以避免多个对象写入或者读取相同的IO缓冲。 2、阻止拷贝的方法有两个:新标准中可以将成员函数定义成删除的函数;在旧标准中可以使用private进行拷贝控制,只声明不定义。推荐使用第一种。 3 阅读全文
posted @ 2018-12-20 10:54 zhizhiyu 阅读(1549) 评论(0) 推荐(0) 编辑
摘要: 1、析构函数:释放对象使用的资源,并销毁对象的非static数据成员;析构函数不接受参数,因此不能被重载。对于一个给定类,有且只有一个析构函数。 2、析构函数的组成:一个函数体+一个析构部分(implicit);所完成的工作:先执行函数体,然后按照初始化成员的逆序销毁成员。在这里需要注意的是销毁成员 阅读全文
posted @ 2018-12-20 10:51 zhizhiyu 阅读(441) 评论(0) 推荐(0) 编辑