当前位置:  开发笔记 > 编程语言 > 正文

为什么我们不能在课堂上使用"this"?

如何解决《为什么我们不能在课堂上使用"this"?》经验,为你挑选了3个好方法。

例如

class Test {
  public:
      void setVal(const std::string& str) {
           this.isVal = str; //This will error out
      }

  private:

      string isVal;
};

Chris Jester.. 33

在C++中,this是一个指针(与引用相对).所以你必须改为说this->isVal.



1> Chris Jester..:

在C++中,this是一个指针(与引用相对).所以你必须改为说this->isVal.



2> FryGuy..:

除了克里斯的回答,您还可以:

(*this).isVal = str;

然而,做克里斯所说的更好,因为它更正统.这只是说明在调用指针之前需要取消引用指针.



3> sth..:

您也不需要this显式使用来访问成员变量/方法.你可以简单地说:

isVal = str;

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有