看不懂你想干什么呀!
如果是为了获得对象的地址,那应该直接 const A* p = &a,为什么要调用a的成员函数?
struct A &getPointer( A * this const ) const
这句话就更看不懂了,getPointer 是个什么奇怪的命名?(难道是Javar混进来了)
在 C/C++ 中,要么都小写 getpointer;要么为了清晰,小写加下划线 get_pointer;要么首字母大写 GetPointer。绝对不会有的大写有的小写。
Pointer是“指针”吧,但你写的返回类型明明是引用(struct A&)。
其函数参数就更看不懂了,A *
this const 是什么,为什么还要传一个地址?
程序代码:
struct A
{
int value;
A( int value ) : value(value)
{
}
// 看不懂为什么要自定义下面两个成员
A* GetPointer()
{
return this;
}
const A* GetPointer() const
{
return this;
}
};
#include <iostream>
using namespace std;
int main( void )
{
const A a(10);
const A* p = a.GetPointer();
cout << p->value << endl;
return 0;
}