cod*_*der 5 c++ function variable-assignment
我的问题是:“我可以将赋值的结果传递给 C++ 中的函数吗?”
我想这样做的原因是变量具有特定类型,例如“int”,因此我将值分配给变量并将整个内容传递给以“int”作为参数的重载函数。
这样做的主要原因是让代码更小更容易阅读,而不是:
val = 2
function(val);
Run Code Online (Sandbox Code Playgroud)
我得到:
function(val = 2);
Run Code Online (Sandbox Code Playgroud)
这可以吗?如果是这样,是否有惯例表明出于某种原因这是糟糕的编码实践?
谢谢,饲料
是的
每段 § 5.17 / 1
赋值运算符 (=) 和复合赋值运算符都从右到左分组。所有都需要一个可修改的左值作为它们的左操作数,并返回一个引用左操作数的左值。
After function(val = 2), 2赋值给valthenval传递给函数的值。
谈论可读性并不容易,我个人不会在我的代码中使用这种方式。