- 博客(19)
- 资源 (50)
- 问答 (1)
- 收藏
- 关注
原创 从汇编看c++中含有虚基类对象的析构
c++中,当继承结构中含有虚基类时,在构造对象时编译器会通过将一个标志位置1(表示调用虚基类构造函数),或者置0(表示不调用虚基类构造函数)来防止重复构造虚基类子对象。如下图菱形结构所示: 当构造类Bottom对象时,Bottom构造函数里面的c++伪码如下(单考虑标志位,不考虑其他): //Bottom构造函数伪码 flag = 1;//标志位 if (flag) ...
2013-07-28 00:16:00 150
原创 从汇编看c++中的placement operator new
placement operator new是重载的operator new运算符,它允许我们将对象放到一个指定的内存中。下面来看c++源码: class X { private: int _x; public: X(int xx = 0) : _x(xx) {} ~X() {} void* operator new(size_t n, ...
2013-07-27 21:27:00 112
原创 从汇编看c++的new和delete
下面是c++源码: class X { private: int _x; public: X(int xx = 0) : _x(xx) {} ~X() {} }; int main() { X* xp = new X; delete xp; } 代码很简单,在main函数里面先用new构造一个堆对象,...
2013-07-27 01:54:00 191
原创 从汇编看c++中全局对象和全局变量
先来看c++源码: #include <iostream> using namespace std; class X { public: int i; public: X(int ii = 0) : i(ii) { } ~X() {} }; X xxx(1);//全局对象 int i = 2;//全局变量 ...
2013-07-24 02:24:00 282
原创 从汇编看c++成员函数指针(三)
前面的从汇编看c++中成员函数指针(一)和从汇编看c++成员函数指针(二)讨论的要么是单一类,要么是普通的多重继承,没有讨论虚拟继承,下面就来看一看,当引入虚拟继承之后,成员函数指针会有什么变化。 下面来看c++源码: #include <cstdio> using namespace std; class Top { public: virtua...
2013-07-11 23:47:00 202
原创 从汇编看c++中指向成员变量的指针(二)
在从汇编看c++中指向成员变量的指针(一)中讨论的情形没有虚拟继承,下面来看看,当加入了虚拟继承的时候,指向成员变量的指针有什么变化。 下面是c++源码: #include <iostream> #include <cstdio> using namespace std; class Top { public: int _top; }...
2013-07-10 03:07:00 132
原创 从汇编看c++成员函数指针(二)
下面先看一段c++源码: #include <cstdio> using namespace std; class X { public: virtual int get1() { return 1; } virtual int get2() { return 2; } }; ...
2013-07-06 22:04:00 174
原创 从汇编看c++中成员函数指针(一)
下面先来看c++的源码: #include <cstdio> using namespace std; class X { public: int get1() { return 1; } virtual int get2() { return 2; } virtual in...
2013-07-06 20:01:00 163
原创 从汇编看c++多重继承中this指针的变化
先来看一下下面的c++源码: #include <iostream> using namespace std; class X { public: virtual void print1() { cout << "X::print1 = " << (long)this << endl; ...
2013-07-06 18:03:00 324
Mac OS X and iOS Internals:To the Apple’s Core.pdf
2020-11-17
Ecma-262规范
2020-11-17
AdvanceAppleDebugging_v0.9.1_SourceCode
2020-11-17
Unicode Standrad
2015-09-24
Git书籍两本打包
2015-09-24
elementary functions
2015-09-24
由于axis2的三本英文书籍
2015-09-24
C89以及Rational
2014-11-26
linux只能连接无密码wifi,无法连接有密码wifi
2015-09-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人