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 –