【发布时间】:2016-12-16 09:44:24
【问题描述】:
我目前正在重构一些代码,想知道以下内容(即分配给返回引用的函数)是否实际上是不好的样式(至少看起来很奇怪):
#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 是什么,以及“呼唤”一个人是否会产生可读的叙述。您可能对此答案感兴趣:stackoverflow.com/questions/41149115/…
标签: c++ reference coding-style