- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 C++中的域
这一段时间一直在琢磨对象模型,现在看到个问题都想用模型来解释,不过确实如此,几乎什么都可以用对象模型来解释搞这个模型就绝对离不开域到底域是什么?这个恐怕不是三言两语说的明白的,每个人都有一定的概念,但是可能大不相同C++上指的是作用域{}一对大括号就对应了一个作用域,学过C++的都知道,作用域里的局部变量出了作用域就消亡了(根本原因是栈恢复)而对于静态变量,编译器编译的时候做了
2011-12-31 09:32:39 4051
原创 函数调用时的栈帧结构以及临时变量的深入研究
C++代码:#include#includeusing namespace std;class base{public: base():id(0){} base(int i):id(i){} base(const base &orig):id(orig.id){cout << "called copy constructor" << endl;}privat
2011-12-17 17:41:59 2394
原创 C++对象模型的一点理解
这两天一直在研究对象模型的问题,发现这个问题确实不好理解,但通过反汇编,对于汇编下,数据段,代码段有了一定的认识。经过两天的研究测试发现当一个类被定义了之后,数据和函数是分离的,函数是放在断码段的,函数名标示函数的起始地址,往下就是函数内部的指令当创建一个类的object时,栈上开辟空间来容纳其中的数据变量,然后调用构造函数来初始化数据成员,如何调用构造函数我至今也不太清楚。。。#in
2011-12-11 22:50:31 542
原创 C++派生类对象模型
#include using namespace std;class base{ public: base(){} virtual ~base(){} int get()const{return num;} private: int num;};class base1{ public: base1(){} virtual ~base1()
2011-12-10 17:30:28 511
原创 Vector部分实现
#ifndef _MY_VECTOR_H#define _MY_VECTOR_H#include #include templateclass MyVector{ public: class iterator { public: iterator():pelem(NULL){} iterat
2011-12-07 16:52:22 1975
原创 稍微对String类的一点改进
#ifndef _STRING_H_H#define _STRING_H_H#include using namespace std;class String;ostream& operator << (ostream &os,const String &str);istream& operator >> (istream &in,String &str);String
2011-12-02 17:14:27 723
原创 string练练手
#ifndef _STRING_H_H#define _STRING_H_H#include using namespace std;class String;ostream& operator << (ostream &os,const String &str);istream& operator >> (istream &in,String &str);class
2011-12-02 13:20:20 698
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人