2015年7月20日
摘要: 条款05:了解C++默默编写了并调用了那些函数请记住:编译器可以暗自为class 创建default构造函数,copy构造函数,copy assignment 操作符,以及析构函数class Empty{public: Empty(){...} ... 阅读全文
posted @ 2015-07-20 21:03 kona 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 本篇的两个主角是分配例程和归还例程(allocation and deallocation routines,也就是operator new和operator delete),配角是new_handler,这是当operator new无法满足客户的内存需求时所调用的函数。STL容器所使用的heap... 阅读全文
posted @ 2015-07-20 16:01 kona 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 转自:http://philoscience.iteye.com/blog/1402852条款01: 视C++为一个语言联邦请记住:C++高效编程守则视状况而变化,取决于你是用C++的哪一部分。C++是一个多重范型编程语言,一个同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式的语言。将... 阅读全文
posted @ 2015-07-20 15:45 kona 阅读(214) 评论(0) 推荐(0) 编辑
  2015年7月19日
摘要: 联合是一种特殊的类。一个 union 对象可以有多个数据成员,但在任何时刻,只有一个成员可以有值。当将一个值赋给 union 对象的一个成员的时候,其他所有都变为未定义的。为 union 对象分配的存储的量至少与包含其最大数据成员的一样多。像任何类一样,一个 union 定义了一个新的类型。1、定义... 阅读全文
posted @ 2015-07-19 19:00 kona 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 1、声明成员指针有时我们希望直接获取成员的指针,然后从一个对象或别的对象获得该成员,这时就需要用到成员指针。成员指针,包含类的类型以及成员的类型。成员指针只针对类的非static成员。static类成员不是任何对象的组成部分,所以不需要特殊语法来指向static成员,static成员指针是普通指针。... 阅读全文
posted @ 2015-07-19 18:34 kona 阅读(753) 评论(0) 推荐(0) 编辑
摘要: 通过RTTI,程序能够通过基类的指针或引用来检索其所指对象的实际类型。c++通过下面两个操作符提供RTTI。(1)typeid:返回指针或引用所指对象的实际类型。(2)dynamic_cast:将基类类型的指针或引用安全的转换为派生类型的指针或引用。对于带虚函数的类,在运行时执行RTTI操作符,返回... 阅读全文
posted @ 2015-07-19 16:06 kona 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/koches/article/details/7787468fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值: 1)在父进程中,fork返回新创建子进程的进程ID; 2)在子进程中,fork返回0; 3)如... 阅读全文
posted @ 2015-07-19 15:13 kona 阅读(1331) 评论(0) 推荐(0) 编辑
摘要: C++的内存分配是一种类型化操作:new为特定类型分配内存,并在新分配的内存中构造该类型的一个对象。new表达式自动运行合适的构造函数来初始化每个动态分配的类类型对象。new基于每个对象分配内存的事实可能会对某些类强加不可接受的运行时开销,这样的类可能需要使用用户级的类类型对象分配能够更快一些。这样... 阅读全文
posted @ 2015-07-19 14:57 kona 阅读(259) 评论(0) 推荐(0) 编辑
  2015年7月18日
摘要: 虚函数为了重写和多态的需要,在基类中是有定义的,即便定义是空,所以子类中可以重写也可以不写基类中的此函数!纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数!1、动态绑定在执行期间(非编译期)判断所引用对象的实际类型,根据实际类型(动态类型)调用相应的方法。动态绑定灵活性相... 阅读全文
posted @ 2015-07-18 20:29 kona 阅读(1749) 评论(0) 推荐(0) 编辑
  2015年7月16日
摘要: 四种强制类型转换:static_castconst_castdynamic_castreinterpret_cast1、static_cast编译器隐式执行的任何类型转换都可以由static_cast显示完成。①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成... 阅读全文
posted @ 2015-07-16 22:14 kona 阅读(351) 评论(0) 推荐(0) 编辑