临时对象
来源:互联网 发布:苹果8连不上数据 编辑:程序博客网 时间:2024/05/15 04:31
//临时对象是在堆栈中形成的,析构函数执行后,但是对象仍在那个地方,而且你的指针还指向那里.
//任何时候我们都可以通过指针来调用成员函数,即使是强制类型转换的也可以.
//比如说这样 ((Point *)0)->f();
//上面的解释:非成员函数,与普通的C全局函数一样,存放在代码段里,所以就像普通函数一样,所有Point类的对象或者指针都可以使用,
#include<iostream>
#include<string>
using namespace std;
class Point{
public:
Point() { cout<<"Point()"<<endl;}
~Point() { cout<<"~Point()"<<endl;}
f() {cout<<"f()"<<endl;}
};
int main()
{
string* p=& string(); //临时对象,在将地址赋给P后随即析构,但P还指向原来的地址,但已经无效
Point* p2=& Point(); //与上面的情况相同
((Point*)0)->f();
p2->f();
return 0;
}
/*output*/
/* Point()
~Point()
f()
*/
//通过析构函数我们可以释放资源,那么你再访问这些资源就会无效.
//实例代码如下,程序会崩溃.
//关键【资源】二字
/*#include <iostream>
#include <string>
using namespace std;
class Point{
public:
Point() { cout <<"Point()" <<endl;p="123";}
~Point() { cout <<"~Point()" <<endl;p=NULL;}
void f() {cout <<"f()" <<endl;cout<<p<<endl;}
private:
char *p;
};
int main()
{
string* p=& string();
Point* p2=& Point();
p2->f();
return 0;
}*/
- 临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象
- 临时对象研究手记
- 删除临时对象
- C++中的临时对象
- 临时对象生命周期问题
- c++临时对象
- C++中的临时对象
- C++中的临时对象
- c++临时对象
- 临时对象问题
- C++临时对象
- boost::thread库,奇怪的文档没有Tutorial的库,但是却仍然相当强大
- 垃圾点了下载不给我下载,还口我分骗子
- photoshop快捷键大全
- 大师教你在网吧免费上网
- Nginx和Apache性能的比较
- 临时对象
- How To Merge Two FlowDocument Objects Using C# Code[WPF]
- 什么是信念?
- css实现可扩展的图片背景圆角边框,在IE6,IE7,Firefox下通过测试
- 神经网络 习题(推广的LVQ).
- gmdate() 函数
- 在cognos中制作树形报表
- 我哭了!
- 网页 QQ 实现代码