我有点好奇为什么在创建指针类型对象时内存没有分配给类或结构?
例如 :-
class A
{
public:
void show()
{
cout<<" show function "<<endl;
}
};
int main()
{
A *a;
a->show();
return 0;
};
Run Code Online (Sandbox Code Playgroud)
Kon*_*lph 10
因为指针和内存分配是先验完全无关的.实际上,在现代C++中,使用指针直接指向手动分配的内存是非常糟糕的.
在大多数情况下,指针指向现有对象 - 这是它们的目的:提供间接性.重申一下:这与内存分配完全无关.
如果你想直接拥有一个对象,你不需要指针:只需按原样声明对象(= by value):
A a;
a.show();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1333 次 |
| 最近记录: |