C++ 编程语言
文章平均质量分 71
linjinxing
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深度探索C++对象模型》读书笔记(1) 关于对象
转自codepub,只做为本人学习使用,如果侵犯了您的权力,请立即通知我删除,谢谢。 在C++中,有两种class data members:static和nonstatic,以及三种class member functions:static、nonstatic和virtual.已知下面这个class Point声明: 在C++中,有两种class data members:st转载 2009-08-23 11:18:00 · 566 阅读 · 0 评论 -
《深度探索C++对象模型》读书笔记(2) 构造函数语意学
转自codepub,只做为本人学习使用,如果侵犯了您的权力,请立即通知我删除,谢谢。 default constructor仅在编译器需要它时,才会被合成出来。 default constructor仅在编译器需要它时,才会被合成出来。 通常来说,由编译器合成出来的default constructor是没啥用的(trivial),但有以下几种例外: (1)带转载 2009-08-23 11:21:00 · 462 阅读 · 0 评论 -
《深度探索C++对象模型》读书笔记(3) 数据成员语意学
转自codepub,只做为本人学习使用,如果侵犯了您的权力,请立即通知我删除,谢谢。 在visual C++ 6.0中测试如下代码: 在visual C++ 6.0中测试如下代码: #include "iostream"using namespace std;class X {};class Y : public virtual X {};class Z : public转载 2009-08-23 11:24:00 · 539 阅读 · 0 评论 -
《深度探索C++对象模型》读书笔记(6)
转自codepub,只做为本人学习使用,如果侵犯了您的权力,请立即通知我删除,谢谢。 ***对象的构造和解构*** 一般而言,我们会把object尽可能放置在使用它的那个程序区段附近,这样做可以节省不必要的对象产生操作和销毁操作。 ***全局对象*** 全局对象的静态初始化策略包括以下几个步骤: (1)为每一个需要静态初始化的对象产生一个_sti_……()函转载 2009-08-23 11:31:00 · 465 阅读 · 0 评论 -
《深度探索C++对象模型》读书笔记(7) 模板
***Template的“具现”行为*** template class中的任何member都只能通过template class的某个实体来存取或操作。 Point::Status s; // okPoint::Status s; // error 如果我们定义一个指针,指向特定的实体,像这样: Point *ptr = 0; 由于这是一个指向class ob转载 2009-08-23 11:32:00 · 437 阅读 · 0 评论 -
《深度探索C++对象模型》读书笔记(4) 成员函数语意学
转自codepub,只做为本人学习使用,如果侵犯了您的权力,请立即通知我删除,谢谢。***非静态成员函数(Nonstatic Member Functions)*** C++的设计准则之一就是:nonstatic member function至少必须和一般的nonmember function有相同的效率。也就是说,如果我们要在以下两个函数之间作选择: float magnitu转载 2009-08-23 11:25:00 · 519 阅读 · 0 评论 -
《深度探索C++对象模型》读书笔记(5)
转自codepub,只做为本人学习使用,如果侵犯了您的权力,请立即通知我删除,谢谢。 ***纯虚拟函数*** 在设计抽象基类时,需要注意以下几点: (1)不要将destructor声明为pure virtual function; 如果将destructor声明为pure virtual function,则设计者一定得定义它。因为每一个derived class转载 2009-08-23 11:28:00 · 457 阅读 · 0 评论 -
可变参数宏 , Variadic Macros
我们一般在Debug需要打印调试信息的时候,需要可变参数的宏。 一, vc(C99)的复杂宏。 参考msdn(http://msdn2.microsoft.com/en-us/library/ms177415.aspx )。使用这种复杂宏时,省略号是格式控制参数,而标识符__VA_ARGS__用来插入另外的参数。__VA_ARGS__ 将"..." 传递给转载 2009-11-24 17:23:00 · 478 阅读 · 0 评论 -
复用类——组合,代理,还是继承?
<br /><br /> 类的复用基本是三种方式,组合,代理,继承。为了同样的复用目的,都是想在构建一个新类的时候加入一个已有类的对象。使用组合是直接在一个新类中new一个对象,使用继承其实也是通过构造方法中调用父类构造方法隐式的加入一个已有类的对象,所不同的是,使用组合更具灵活性,可以自主的选择需要加入什么对象,而使用继承则是强迫必须加入一个父类的对象。另外还可以使用代理,通过在新类中创建一个对象,并在方法中调用这个对象的方法,从而达到包装一个新方法的目的。尽管面向对象编程对继承极力强的,但在设转载 2011-05-09 17:46:00 · 1222 阅读 · 0 评论
分享