gpt4 book ai didi

c++ - 为什么 C 和 C++ 允许表达式 (int) + 4*5?

转载 作者:IT老高 更新时间:2023-10-28 12:01:54 25 4
gpt4 key购买 nike

(int) + 4*5;

为什么这(添加带有值的类型)是可能的? (用 g++ 和 gcc 试过。)

我知道这没有意义(也没有效果),但我想知道为什么会这样。

最佳答案

这里的+unary + operator ,而不是 binary addition operator .这里没有添加。

此外,语法 (int) 用于类型转换。

您可以重新阅读该声明

(int) (+ 4) * 5;    

解析为

((int) (+ 4)) * (5);    

上面写着,

  1. 对整数常量值 4 应用一元 + 运算符。
  2. 类型转换为 int
  3. 乘以操作数5

这类似于(int) (- 4) * (5);,这里对一元运算符的用法比较熟悉。

在您的情况下,一元 + 和强制转换为 int - 两者都是多余的。

关于c++ - 为什么 C 和 C++ 允许表达式 (int) + 4*5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55783615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com