Fork me on GitHub
摘要: 关于OOP1,继承可以是单一继承或多重继承,每一个继承连接可以是public、protected或private,也可以是virtual或non-virtual。2,成员函数的各个选项:virtual或non-virtual或pure-virtual。3,成员函数和其他语言特性的交互影响:缺省参数值... 阅读全文
posted @ 2015-11-22 17:12 GeekerLou 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 条款26:尽可能延后变量定义式的出现时间有些对象,你可能过早的定义它,而在代码执行的过程中发生了导常,造成了开始定义的对象并没有被使用,而付出了构造成本来析构成本。所以我们应该在定义对象时,尽可能的延后,甚至直到非得使用该变量前一刻为止,应该尝试延后这份定义直到能够给它初值实参为止。这样做的好处是:... 阅读全文
posted @ 2015-11-22 17:07 GeekerLou 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 条款18:让接口容易被正确使用,不易被误用1,好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。2,“促进正使用”的办法包括接口的一致性,以及与内置类型的行为兼容。3,“阻止误用”的办法包括建立新类型,限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。4,sha... 阅读全文
posted @ 2015-11-22 17:06 GeekerLou 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 资源:动态分配的内存、文件描述器、互斥锁、图形界面中的字型与笔刷、数据库连接以及网络sockets等,无论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统。条款13:以对象管理资源当我们向系统申请资源后,一定要记得释放,不然就容易发生内存泄漏。但是意识到这样一件事并不是很容易,比如我们是通过... 阅读全文
posted @ 2015-11-22 17:05 GeekerLou 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 条款05:了解C++默默编写并调用哪些函数默认构造函数、拷贝构造函数、拷贝赋值函数、析构函数构成了一个类的脊梁,只有良好的处理这些函数的定义才能保证类的设计良好性。当我们没有人为的定义上面的几个函数时,编译器会给我们构造默认的。当成员变量里有const对象或引用类型时,编译器会不能合成默认的拷贝赋值... 阅读全文
posted @ 2015-11-22 17:04 GeekerLou 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 条款01:视C++为一个语言联绑C++的四个语言层次:C:C++是以C为基础的。基本数据类型、语句、预处理器、数组、指针等统统来自C。Oject-Oriented C++:面向对象这一特性包含了:类,封装(声明与实现相分离),继承(多继承和多重继承、构造函数、析构函数、拷贝构造函数、拷贝赋值运算符)... 阅读全文
posted @ 2015-11-22 17:02 GeekerLou 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 第一部分 对象成员与对象数组从一个简单的例子开始说起,首先定义一个Coordinate的类,里面有两个公有的成员变量m_iX和m_iY,分别代表横坐标和纵坐标。接下来,定义一个对象数组cood和一个指向一个对象数组的指针p:那么,coord和p究竟有何不同呢?初始化的时候,先初始化m_CoorA和m... 阅读全文
posted @ 2015-11-22 16:34 GeekerLou 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 这是一本好书, 可以让你认清自己对C++的掌握程度. 看完之后,给自己打分,我对C++了解多少? 答案是不足20分. 对于我自己是理所当然的问题, 就不提了, 记一些有启发的条目和细节:(*号表示不能完全理解,实力升级了之后回头看)一般性问题:1. 不要在注释中重复写代码语义,这样很容易产生不一致.... 阅读全文
posted @ 2015-11-21 11:34 GeekerLou 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 这是一道考的烂的不能再烂的题目,但是依然有很多公司乐于将这样的题目作为笔试或面试题,足见其经典。 问题是这样的:一个整数数组中的元素有正有负,在该数组中找出一个连续子数组,要求该子数组中各元素的和最大,这个子数组便被称作最大子数组。比如数组{2,4,-7,5,2,-1,2,-4,3}的最大子数组为{ 阅读全文
posted @ 2015-09-02 10:42 GeekerLou 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 第一部分 类和对象内存中按照用途被划分的五个区:栈区、堆区、全局区、常量区、代码区栈区由系统来进行控制,无论是内存的分配还是回收都不需要程序员关心堆区由new分配内存,使用完成之后必须使用delete进行回收,需要程序员自己关心和管理的全局区存储全局变量以及静态变量常量区存储一些字符串和常量代码区存... 阅读全文
posted @ 2015-08-31 21:00 GeekerLou 阅读(294) 评论(0) 推荐(0) 编辑