提问人:Sarthak Gandhi 提问时间:11/13/2021 更新时间:11/13/2021 访问量:306
如何在 C++ 中使用此指针访问指针成员变量
How to access pointer member variable using this pointer in c++
问:
课堂论文{
private:
int length;
int *width;
public:
void set_data(int length, int width){
cout<<"inside set data"<<endl;
this->length=length;
this->width=&width;
}
void show_data(){
cout<<"inside show_data"<<endl;
cout<<this->length;cout<<this->(*width);
cout<<this->(*width);
}
};
获取错误 cout<(*宽度);
如何使用此指针取消引用指针
答:
1赞
user12002570
11/13/2021
#1
您可以通过替换为以下内容来解决此问题:this->(*width)
*(this->width)
然后,该程序将工作,如下所示。
评论
0赞
Nathan Pierson
11/13/2021
这个程序是编译的,但如果你实际使用过,你会得到未定义的行为。 设置为指向临时变量的指针,因此在该变量的生存期结束后取消引用它是 UB。set_data
show_data
this->width = &width
this->width
0赞
user12002570
11/13/2021
@NathanPierson 是的,OP 应该相应/适当地处理这个问题。
上一个:“this”指针会改变吗?
评论
*( this->width )
width
int*
int