1
我目前正在重构了一些代码,不知道函数是在以下(即分配到返回引用的函数)实际上是不好的风格(至少它看起来怪异):分配到返回参考
#include <iostream>
class A{
public :
double & operator()() {
return this->x;
};
double operator()() const{
return this->x;
};
protected :
double x = 0.0;
};
int main(){
A a;
a() = 4.0;
std::cout<<a()<<std::endl; //prints 4.0 as expected.
};
这背后的背景是,我有一些代码,并行和使用类似的工作原理:
A.d
根本就不是一个选项,而:
A()
会工作,因为我可以将选择的内存留给一个函数。
(我知道的编码风格是有些主观的问题,但我是一个科学家,而不是一个软件工程师和良好做法给予反馈)
这取决于什么A是,是否 “调用” 一个使一个可读的故事。您可能对此答案感兴趣:http://stackoverflow.com/questions/41149115/is-overloading-operator-for-a-reconstruction-a-good-practice/41150295#41150295 –