【问题标题】:Use of sizeof without parenthesis [duplicate]使用不带括号的 sizeof [重复]
【发布时间】:2015-09-04 14:52:48
【问题描述】:

我见过使用不带括号的运算符大小。

例如

int x,y;
y = sizeof x;
  1. sizeof(x)sizeof x 有什么区别?
  2. 为什么sizeof int 不像sizeof(int) 那样工作?

【问题讨论】:

  • @ShafikYaghmour 谢谢你的信息
  • @ShafikYaghmour 我认为没有人会责怪你自己关闭它。
  • 啊.. 自我回答,嗯?但问题是,这不是骗局的更好版本,我会说运气不好。 :)
  • 同上@BaummitAugen。 (在 SY 发布了这个骗局之后,我真的很惊讶这个问题是开放的。:))

标签: c++ c sizeof


【解决方案1】:

由于sizeof 是一元运算符,它可以像一元运算符'-' 和类型转换运算符一样用于任何变量或常量之前。因此,如果与变量或常量一起使用,括号是不必要的。

就像-1-(1) 一样工作。

但是如果它与数据类型一起使用,缺少括号会导致编译器错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多