this指针 构造函数
来源:互联网 发布:淘宝跟天猫的区别 编辑:程序博客网 时间:2024/05/21 09:22
构建对象
初始化对象
类型转换
构造函数定义格式为:
class <类名>
{
public:
<类名>(参数表)
};
<类名>::<函数名>(参数表)
{
//函数体
}
如以下定义是合法的:
class T
{
public:
T(int a=0){i=a;}//构造函数允许直接写在类定义内,也允许有参数表。
private:int i;
};
用处:一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。
2. this只能在成员函数中使用。
全局函数,静态函数都不能使用this。
实际上,成员函数默认第一个参数为T* const register this。
如:
class A{public: int func(int p){}};
其中,func的原型在编译器看来应该是: int func(A* const register this, int p);
由此可见,this在成员函数的开始前构造的,在成员的结束后清除。
这个生命周期同任一个函数的参数是一样的,没有任何区别。
当调用一个类的成员函数时,编译器将类的指针作为函数的this参数传递进去。如:
A a;
a.func(10);
此处,编译器将会编译成: A::func(&a, 10);
this是通过函数参数的首参数来传递的。this指针是在调用之前生成的。类实例后的函数,没有这个说法。类在实例化时,只分配类中的变量空间,并没有为函数分配空间。自从类的函数定义完成后,它就在那儿,不会跑的
0 0
- this指针 构造函数
- 构造函数中的this指针
- 构造函数和this指针
- this指针与构造函数
- this指针和构造函数
- 构造函数与this指针
- C++构造函数中的this指针
- 当构造函数泄露this指针时
- C++ this指针和构造函数(-)
- 构造函数和this指针浅谈
- 构造函数相互调用使用this指针
- 【C++】This指针和复制构造函数
- 细说 class类中的this指针与 构造函数
- c++::让你足够了解构造函数和this指针
- c++::让你足够了解构造函数和this指针
- C++构造函数初始化列表中不能使用this指针
- this指针、构造函数、拷贝构造函数、析构函数的总结
- 构造函数,this关键字
- 构造器Constructor是否可被override?
- 从分布式一致性谈到CAP理论、BASE理论
- IOS 四种保存数据的方式
- EventBus 3使用文档(一)
- Java设计模式之单例模式(Singleton Pattern)
- this指针 构造函数
- OpenCV 90°旋转
- linux nc命令相互发消息及传文件
- transcode_init()函数介绍
- CSS-字体
- 最小的应用(tkinter,Python3.x )
- 机器学习模型评价指标 -- 混淆矩阵
- 数据结构与算法之经典排序
- Codeforces 516A Drazil and Factorial【暴搜找规律+贪心】