C++ "return"表达式的结果

标签 c++ c++98

基于额外的括号,下面两个 return 语句之间的表达式求值有什么区别吗?

    return a++ *(-b+123.456)/999.12344;

对比

    return (a++ *(-b+123.456)/999.12344);

编程语言 C++ 标准 CPP 98'ish(C++11 之前)

希望问题很清楚。期望是完整地评估表达式。

最佳答案

Sloppy speaking x(x) 相同(请参阅 this answer 以获得“严格的讲话”答案;)。在完整表达式周围添加括号不会改变 operator precedence 的任何内容。

PS:对返回值优化有模糊影响(详见this answer)。不过,它绝对不会影响返回的值。

关于C++ "return"表达式的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54256135/

相关文章:

c++ - std::condition_variable 没有锁

c++ - 将 freeglut 回调包装在一个类中的最优雅的方式

c++ - C++ 是否保证 header 初始化的静态 const 成员在编译单元和库之间共享单个实例?

c++ - 使用 ={} 语法初始化结构时,幕后发生了什么?

c++ - 从作为参数传递的函数中提取参数

c++ - 如果构造函数抛出, `new` 分配的内存会发生什么?

c++解密从服务器下载的文件

c++ - 使用 IImageEncoder 将图像保存到文件

c++ - 您可以将指针传递给 std::vector 的迭代器吗

c++ - 是 case statement1 + statement2 : poor coding?