c++函数返回援用的情况有哪几种
C++函数返回援用的情况有以下几种:
int& getVariable() {
static int x = 5;
return x;
}
class MyClass {
public:
int& getValue() {
return value;
}
private:
int value;
};
int arr[5] = {1, 2, 3, 4, 5};
int& getElement(int index) {
return arr[index];
}
class MyClass {
public:
MyClass& operator=(const MyClass& other) {
// 赋值操作
return *this;
}
};
MyClass& createObject() {
static MyClass obj;
return obj;
}
class MyClass {
public:
MyClass& setValue(int value) {
this->value = value;
return *this;
}
private:
int value;
};
MyClass obj;
obj.setValue(1).setValue(2).setValue(3);
需要注意的是,返回援用时要确保援用指向的对象在函数结束后依然有效,避免返回局部变量的援用或释放掉的对象的援用。
TOP