this是个指针,存在于类的非静态成员函数内部,return this 返回的是指向该对象的指针,或 返回的是当前该对象的地址。 return *this 返回当前对象的引用,或者说返回该对象本身 还是当前对象的克隆 代码整理了一下,根据输出地址是否相同来判断是对象本身还是对象的克隆: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
return *this返回当前对象的引用(也就是返回当前对象) return this返回当前对象的地址. #include <iostream>usingnamespacestd;classA {public:intx; A*get1() {returnthis; } A&get2() {return*this; } };intmain(void) { A a; cout<<"return this返回:"; cout<<a.get1()<<endl; cout<<"retur...
this 代表指向实例化的一个对象。(注意静态成员和函数是没有this指针的)所以要你自己实际用了,比如返回该类实例化的对象(*this),或者对象的地址(this)比如重载赋值操作符,+ - 等等 返回对象的地址(this)或者返回一个对象的拷贝(*this)总的来说你只要记住this 代表指向实例化的一个对象。
就是返回值啊,返回当前this对象,以便链式调用,你这里理解为返回obj对象就行了obj.addname().addname...
别跟我说, return *this返回当前对象, return this返回当前对象的地址(指向当前对象的指针)。 正确答案为:return *this返回的是当前对象的克隆或者本身(若返回类型为A, 则是克隆, 若返回类型为A&, 则是本身 )。return this返回当前对象的地址(指向当前对象的指针), 下面我们来看看程序吧: #include <iostream>...
return *this;就是返回当前对象。因为成员函数中this就是当前对象指针,解引用也就是获取当前对象。比如,有如下代码:class Object{public: Object instance() { return *this; }};那么,obj1 = obj2.instance();就和,obj1 = obj2; 等效。你这里的operator=()返回*this,是为了实现“链式表...
下面谈谈C++类成员返回语句 return *this 的理解 经常会在类似 copy-assignment 的成员函数看到返回语句 return *this ,这类函数通常返回类型是所属类的引用。 类成员函数的隐式指针 class *this const 经过 *this的解引用后成为此对象本身。此时若成员函数返回类型是 class ,那么返回的将是 this 指向的对象实体的...
return *this; 只会把对象本身当做类成员函数的结果,进行传参数或赋值 拷贝构造函数主要在以下三种情况下起初始化作用:1. 在声明语句中用一个对象初始化另一个对象;2. 将一个对象作为参数按值调用方式传递给另一个对象时生成对象副本;3. 生成一个临时对象作为函数的返回结果。第三种情况是这样的:...
return this.message.split('').reverse().join(''); } } 在这个例子中,reversedMessage是一个计算属性,它依赖于message的数据,并返回一个反转后的字符串。 二、在方法中返回处理结果 Vue.js的methods属性允许你定义一些方法,这些方法可以用于事件处理、数据操作等。在这些方法中,你可以使用return来返回处理结果。
this是指向自身对象的指针,*this是自身对象。 也就是说return *this返回的是当前对象的克隆或者本身(若返回类型为A, 则是克隆, 若返回类型为A&, 则是本身 )。 return this返回当前对象的地址(指向当前对象的指针) 下面代码写在CPerson类中 CPerson* getCperson() { cout<<"返回指向当前对象的指针: "<<...