随笔分类 -  读书笔记

摘要:写在前面的话从10月份开始,就感觉我已经早早的来到了2016年,用了整整一个月的时间找工作,满脑子整天都是2016校园招聘,似乎已经被这个数字洗脑,最后的最后他还是来到了,离我仅仅半个小时的距离。那么就用这半个小时的时间总结一下我的2015吧,展望一下2016。回顾2015年,好多的事情发生了,由于... 阅读全文
posted @ 2016-01-01 02:29 stemon 阅读(352) 评论(0) 推荐(0) 编辑
摘要:1. 宏定义#define ASPECT_RATIO 1.653该宏定义ASPECT_RATIO也许从来没有被编译器看到,也许在编译器开始处理源码之前就已经被预处理器替换了。所以记号名称ASPECT_RATIO有可能没进入符号表(symbol table)中。所以,当你从这个常量得到一个编译错误信息... 阅读全文
posted @ 2015-08-27 00:32 stemon 阅读(344) 评论(0) 推荐(0) 编辑
摘要:在开始之前先来分析一下C++中的new运算符和operator new之间的关联。new:指我们在C++里通常用到的运算符,比如A* a = new A或者调用带参数的构造函数; 对于new来说,有new和::new之分,前者位于std。operator new():它是一个函数,并不是运算符。对于... 阅读全文
posted @ 2015-08-21 10:00 stemon 阅读(452) 评论(0) 推荐(0) 编辑
摘要:问题聚焦: 我们都知道,new和delete要成对使用,但是有时候,事情往往不是按我们预期的那样发展。 对于单一对象和对象数组,我们要分开考虑。 遇到typedef时,也需要搞清楚,是单一对象类型还是对象数组类型。来看一个例子:std::string* stringArray = new st... 阅读全文
posted @ 2015-08-08 21:52 stemon 阅读(343) 评论(0) 推荐(0) 编辑
摘要:多态基类增加一个virtual的析构函数现在需要一种设计,要设计一个类记录时间,但是记录时间的方式有很多,可以通过手机MobileClock,可以通过水钟WaterClock等。所以要这种实现的方式:class TimeKeeper{public: TimeKeeper(); ~TimeKeeper... 阅读全文
posted @ 2015-07-09 13:57 stemon 阅读(460) 评论(0) 推荐(0) 编辑
摘要:1.问题描述:求一个正整数序列的最长单调自增子序列,子序列不要求是连续的。例如Input:55 2 4 3 1Output:22.算法复杂度是O(N*N)确定状态转移方程,设f[i]是以a[i]为结尾的最大值的子序列的长度,那么max{f[i]}的最大值就是要的结果。所以转移方程... 阅读全文
posted @ 2015-06-24 09:43 stemon 阅读(1247) 评论(0) 推荐(0) 编辑
摘要:1. 问题描述有一个像这样的数字三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5从顶点开始,每个数字向下层走只能有左下和右下两个方向,求出到达最后一行时最大的路径之和。Input第1 行是数字三角形的行数n,1y ?... 阅读全文
posted @ 2015-06-24 03:05 stemon 阅读(1826) 评论(0) 推荐(0) 编辑
摘要:一、基本说明C++标准中提到,一个编译单元是指一个.cpp文件以及它所include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个.obj文件,后者拥有PE[PortableExecutable,即Windows可执行文件]文件格式,并且本身包... 阅读全文
posted @ 2015-06-22 17:49 stemon 阅读(3952) 评论(1) 推荐(1) 编辑
摘要:7.5局部对象在C++语言中,对于每一个变量和对象,都有其各自的作用域和生存期,这两个概念一个是空间的,一个是时间的。对象的作用域指的是该变量的程序文本区,对象的生存期则是程序执行过程中对象存在的时间。7.5.1自动对象只有当定义它的函数被调用的时候才存在的对象称为自动对象,自动对象在每次调用函数时... 阅读全文
posted @ 2015-06-22 16:15 stemon 阅读(2176) 评论(0) 推荐(0) 编辑
摘要:函数模板是通用的函数描述,也就是说,它们使用泛型来定义函数,其中的泛型可用具体的类型(如int或者double)替换。通过将类型作为参数,传递给模板,可使编译器生成该类型的函数。函数模板允许以任意类型的方式来定义函数。例如,可以这样建立一个交换函数的模板:template void Swap(T &... 阅读全文
posted @ 2015-06-22 12:00 stemon 阅读(287) 评论(0) 推荐(0) 编辑
摘要:每一个class都会有一个或多个构造函数、一个析构函数、一个copy assignment操作符。这些控制着基础操作,像是产出新对象并确保它被初始化、摆脱旧对象并确保它被适当清理、以及赋予对象新值。那么当你当你编写了一个empty class的时候,当你利用编译器的对代码进行处理的时候,它其实已经并... 阅读全文
posted @ 2015-06-17 15:31 stemon 阅读(278) 评论(0) 推荐(0) 编辑
摘要:运算符重载的两种方式对于很多运算符来说,可以选择使用成员函数或非成员函数来实现运算符重载。一般来说非成员函数应该是友元函数,这样才能直接访问类的私有数据。例如,Time类的加法运算符在Time类声明中的原型为:Time operator+(const Time &t) const; //member... 阅读全文
posted @ 2015-06-17 11:18 stemon 阅读(398) 评论(0) 推荐(0) 编辑
摘要:总结: 绝不要返回一个local栈对象的指针或引用;绝不要返回一个被分配的堆对象的引用;绝不要返回一个静态局部对象(为了它,有可能同时需要多个这样的对象的指针或引用)。条款4中给出了“在单线程环境中合理返回局部静态对象的引用”。注意:利用指针返回一个被分配的堆对象是可以的。本条款讨论的是必须返回一个... 阅读全文
posted @ 2015-06-15 16:23 stemon 阅读(469) 评论(0) 推荐(0) 编辑
摘要:本条款的要点:1、尽量以pass-by-reference-to-const替换pass-by-value。前者更高效且可以避免切割问题。2、这条规则并不适用于内建类型及STL中的迭代器和函数对象类型。对于它们,pass-by-value通常更合适。缺省的情况下,C++以by-value方式传递对象... 阅读全文
posted @ 2015-06-15 15:26 stemon 阅读(415) 评论(0) 推荐(0) 编辑
摘要:问题提出关于"将对象初始化"这事,C++ 似乎反复无常。(1)如果你这么写:int x; 在某些语境下x保证被初始化(为0),但在其他语境中却不保证。(2)如果你这么写:class Point { int x, y; }; ... Point p; p的成员变量有时候被初始化(为0),... 阅读全文
posted @ 2015-06-14 02:40 stemon 阅读(484) 评论(0) 推荐(0) 编辑
摘要:在开始这一个条款之前,先来看一个有关C++默认参数的知识点:同时声明与定义函数时#include #include using namespace std;double dis(double x,double y,double a = 0, double b = 0){ return sqrt... 阅读全文
posted @ 2015-05-23 02:11 stemon 阅读(365) 评论(0) 推荐(0) 编辑
摘要:树的具体的定义不说了,说几个重要的树的性质一棵树是N个节点和N-1条边的集合,因为除了根节点以外的每一个节点都通过一条边连接到它的父亲节点,所以有N-1条边。对于任意节点n,n的深度为从根节点到这个节点的唯一路径的长度(长度就是边的个数)。对于任意节点n,n的高度为从n到一片树叶的最长路径的长度。一... 阅读全文
posted @ 2015-05-08 00:31 stemon 阅读(433) 评论(0) 推荐(1) 编辑
摘要:对于大量的输入数据,链表的线性访问时间太慢,一般使用树这种数据结构。接下来的博客都将围绕如何利用树支持以O(logN)平均时间进行的各种搜索操作,以及如何细化优化得到最坏情况时间界O(logN)。树的具体的定义不说了,说几个重要的树的性质:一棵树是N个节点和N-1条边的集合,因为除了根节点以外的每一... 阅读全文
posted @ 2015-05-07 21:08 stemon 阅读(204) 评论(0) 推荐(0) 编辑
摘要:C++已经是个多重范型编程语言(multiparadigm programming language),一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、泛型形式(generic)、元编程形式(metaprogramming)的语言。如何理解这样的一个语言... 阅读全文
posted @ 2015-03-09 16:15 stemon 阅读(178) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示