C++函数返回值为引用类型
C++中函数返回值为引用类型有什么作用?
函数返回值是引用类型主要三个场景:
函数返回值是一个很大的数据结构,避免拷贝开销;
实现函数的链式赋值操作,此时函数需要作为一个左值,经典的例子有:
std::cout << "hello, world" << std::endl;
实际上执行的代码逻辑是:std::cout.operator<<("hello, world").operator<<(std::endl);
- operator[]:当随机访问运算符需要实现赋值功能是,函数也需要是一个左值,因此函数需要返回引用类型;
1
2
3
4
5
6
7
8
9
10
11vector<int>& addElement(vector<int>& vec, int value) {
vec.push_back(value);
return vec;
}
int main() {
vector<int> numbers;
addElement(numbers, 5).push_back(10).push_back(15);
// 现在numbers中有三个元素:5, 10, 15
return 0;
}另外在成员函数中,可以直接返回成员变量的引用,对于单一的 get_xx()场景比较有效。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment