c++ - 使用三元运算符初始化引用变量?

标签 c++ reference ternary-operator

抛开所有可维护性和阅读问题,这些代码行会产生未定义的行为吗?

float  a = 0, b = 0;
float& x = some_condition()? a : b;
x = 5;
cout << a << ", " << b;

最佳答案

不,没关系。它不会在此代码中创建未定义的行为。您只需根据条件将 a 或 b 的值更改为 5。

关于c++ - 使用三元运算符初始化引用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11494988/

相关文章:

clojure - 有没有人知道 DSL 设计的好引用?

c++ - 是否可以使用三元运算符 "?"来填充 C/C++ 中的数组列表?

c++ - CDHtmlDialog 没有加载最新版本的 IE?

c++ - OpenGL 程序中奇怪的 CPU 使用率

c++ - char 到 char* 的转换无效 - 将字符串数组中的 char 复制到另一个字符串数组

c++ - 关于 reference_wrapper 和可调用对象

python - 是否可以引用Python中的字典项?

c++ - 污染全局命名空间

c++ - 三元运算的奇怪行为

c# - 是否可以从 C# 中的对象修改或删除匿名类型?