Inside C++ object model
文章平均质量分 95
骑猪去兜风..
无
展开
-
执行期语意学
6.2 new和delete运算符 运算符new的使用,看起来似乎是个单一运算,比如 int *pi=new int(5); 但事实上它是由两个步骤完成的: 1.通过适当的new运算符函数实例,配置所需的内存: //调用函数库中的new运算符 int *pi=__new(sizeof(int)); 2.将配置得来的对象设立初值: *pi=5; delete运算符的情况类似原创 2018-05-08 22:18:21 · 363 阅读 · 0 评论 -
Function 语意学
Function语意学 float Point3d::magnitude()const { return sqrt(_x*_x + _y*_y + _z*_z); } Point3d Point3d::normalize()const { /* 用register说明的局部变量称为寄存器变量,该变量将可能以寄存器作为存储空间。 register说明仅能建议(而非强制)系统使用寄存器,这...原创 2018-05-02 19:02:15 · 721 阅读 · 0 评论 -
关于对象
1.1 C++对象模型 在C++中,有两种class data members:static和nonstatic,以及三种class member functions:static、nonstatic和virtual。 eg: class Point { public: Point(float xval); virtual ~Point(); float x() const; ...原创 2018-04-25 19:01:38 · 372 阅读 · 0 评论 -
Data 语意学
引言 先看一个例子 #include <iostream> using namespace std; class X {}; class Y :public virtual X {}; class Z :public virtual X {}; class A :public Y, public Z {}; int main() { cout << sizeof...原创 2018-04-27 10:25:52 · 559 阅读 · 0 评论 -
构造函数语意学
2.1 Default Constructor的构造操作 C++标准:对于class X,如果没有任何user-declared constructor,那么会有一个default constructor被隐式声明出来,一个被隐式声明出来的default constructor将是一个trivial constructor。然后在4种情况下这个implicit default construct...原创 2018-05-05 22:11:36 · 374 阅读 · 0 评论 -
构造、析构、拷贝语意学
纯虚函数的存在 在C++中,可以定义和调用一个pure virtual function(纯虚函数)。不过它只能被静态地调用(这里是指通过类名::进行的调用),不能经由虚拟机制调用。 class A { public: A() {} //virtual A() = 0;构造函数不能声明为虚函数,更不能声明为纯虚函数 virtual void interface() = 0; void...原创 2018-05-08 16:22:04 · 514 阅读 · 0 评论