2013年9月29日

C++学习之资源管理的利器RAII

摘要: http://www.cnblogs.com/hsinwang/articles/214663.htmlRAII是指C++语言中的一个惯用法(idiom),它是“Resource Acquisition Is Initialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”。虽然从某种程度上说这个名称并没有体现出该惯性法的本质精神,但是作为标准C++资源管理的关键技术,RAII早已在C++社群中深入人心。我记得第一次学到RAII惯用法是在Bjarne Stroustrup的《C++程序设计语言(第3版)》一书中。当讲述C++资源管理时,Bjarne这样写道:使用局部对象管理资 阅读全文

posted @ 2013-09-29 21:56 theCambrian.cpp 阅读(222) 评论(0) 推荐(0) 编辑

C++学习之new & delete

摘要: http://www.cnblogs.com/fly1988happy/archive/2012/04/26/2471099.html1. new与operator newC++中有很多语法让人难以理解,如:new operator(操作符,下同)和operator new之间差异,确切的说,应该是new与operator new 的区别。1.1 new operator如下代码:string *ps=new string("memory management");这里所使用的new就是所谓new operator,是由C++语言内建的,就像sizeof那样,不能改变意义, 阅读全文

posted @ 2013-09-29 20:45 theCambrian.cpp 阅读(240) 评论(0) 推荐(0) 编辑

C++学习之多态

摘要: http://blog.csdn.net/hackbuteer1/article/details/7475622C++ Primer 第四版 (中文版)P480:“引用和指针的静态类型和动态类型可以不同,这是C++用以支持多态性的基石”ps:好书面,考试的时候可以这样作答。多态(Polymorphisn)在C++中是通过虚函数实现的。通过前面的博客,如果类中有虚函数,编译器就会自动生成一个虚函数表,对象中包含一个指向虚函数表的指针。能够实现多态的关键在于:虚函数是允许被派生类重写的,在虚函数表中,派生类函数对覆盖(override)基类函数。除此之外,还必须通过指针或引用调用方法才行,将派生类 阅读全文

posted @ 2013-09-29 16:16 theCambrian.cpp 阅读(124) 评论(0) 推荐(0) 编辑

C++学习之对象模型

摘要: 1,C++对象模型参见文章: http://www.cnblogs.com/skynet/p/3343726.html http://blog.csdn.net/l09711/article/details/63966212,构造函数为什么不能是虚函数? 1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。 2. 从使用角度,虚函数主要用于在信... 阅读全文

posted @ 2013-09-29 16:02 theCambrian.cpp 阅读(190) 评论(0) 推荐(0) 编辑

导航