摘要: 1、noncopyable允许程序轻松地实现一个禁止拷贝的类,在头文件<boost/noncopyable.hpp>中 2、实现原理很简单:noncopyable的实现就是用了C++中的阻止拷贝, 参考《C++ Primer》第五版P449或者我的笔记类的设计(2)——拷贝控制(阻止拷贝) 1)方式 阅读全文
posted @ 2018-12-20 21:46 zhizhiyu 阅读(533) 评论(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 阅读(1548) 评论(0) 推荐(0) 编辑
摘要: 1、析构函数:释放对象使用的资源,并销毁对象的非static数据成员;析构函数不接受参数,因此不能被重载。对于一个给定类,有且只有一个析构函数。 2、析构函数的组成:一个函数体+一个析构部分(implicit);所完成的工作:先执行函数体,然后按照初始化成员的逆序销毁成员。在这里需要注意的是销毁成员 阅读全文
posted @ 2018-12-20 10:51 zhizhiyu 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 转载自:electrocrazy的博客 在linux环境下,vim是常用的代码查看和编辑工具。在程序编译出错时,一般会提示出错的行号,但是用vim打开的代码确不显示行号,错误语句的定位非常不便。那么怎样才能让vim显示代码的行号呢? 1 临时显示行号如果只是临时显示vim的行号,只须按ESC键退出编 阅读全文
posted @ 2018-12-19 21:04 zhizhiyu 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 一、题目描述 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 示例 2: 说明:你可以认为每种硬币的数量是无限的。 二、题目解析 //动态规划。状态:dp[i]组合成i最 阅读全文
posted @ 2018-12-19 15:48 zhizhiyu 阅读(1688) 评论(1) 推荐(0) 编辑
摘要: 表头文件 #include<sys/file.h> 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参数operation所指定的方式对参数fd所指的文件做各种锁定或解除锁定的动作。此函数只能锁定整个文件,无法锁定文件的某一区域。 参数 ope 阅读全文
posted @ 2018-12-18 21:58 zhizhiyu 阅读(1303) 评论(0) 推荐(0) 编辑
摘要: 一、题目描述 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 示例 2: 二、问题分析 1、这是比较经典和复杂的动态规划问题 阅读全文
posted @ 2018-12-18 19:26 zhizhiyu 阅读(1068) 评论(0) 推荐(0) 编辑
摘要: 1、一个类通过定义五种特殊的成员函数来控制此类型对象的拷贝、移动、赋值和销毁:拷贝构造函数、拷贝赋值运算符、移动构造函数、移动赋值运算符和析构函数。(拷贝、移动、析构) 2、拷贝和移动构造函数定义了当用同类型的另一个对象初始化本对象时做什么;拷贝和移动赋值运算符定义了讲一个对象赋予同类型的另一个对象 阅读全文
posted @ 2018-12-18 16:50 zhizhiyu 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 转载自:C++常用库 C++ 资源大全 关于 C++ 框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 标准库 C++标准库,包括了STL容器,算法和函数等。 C++ Standard Library:是一系列类和函数的集合,使 阅读全文
posted @ 2018-12-17 21:51 zhizhiyu 阅读(1355) 评论(0) 推荐(0) 编辑