【问题标题】:What does mean "int(i)=1;"? [duplicate]“int(i)=1;”是什么意思? [复制]
【发布时间】:2017-08-26 05:49:50
【问题描述】:

我是 C++ 新手,我在 C++ 中看到以下语法来初始化变量。

int(i)=1;

然后,我在 G++ 编译器中编译,编译器没有给出任何错误或警告。

那么,int(i)=1; 在 C 和 C++ 中是什么意思?

另外,我在 C 中进行了测试,我认为 C 编译器会出错,但它也可以正常工作。

【问题讨论】:

  • 为什么要添加c标签? C 和 C++ 是非常不同的语言
  • @LưuVĩnhPhúc 因为它在 C 中也可以正常工作。
  • @Mahendra 尽管如此,在两种语言中工作的东西可能有非常不同的行为和原因。在这种情况下,这很好,但请记住,它们确实不同。
  • 为什么会出现左值错误? i 是一个左值。
  • @Mahendra 这是一个非常不同的代码。 i 是左值, foo() 不是。关键的区别不是括号(嗯,有点。它们是函数调用的原因)。请查看左值是什么。

标签: c++ c initialization


【解决方案1】:

基本上是一种奇怪的写法

int i = 1;

没什么好担心的。

有时,变量名的括号在定义中是必要的(例如,指向函数的指针),并且没有理由在其他情况下禁止它们,因此无需任何更深层次的理由就可以允许。
愿作者不喜欢空间(这样的人存在)。

【讨论】:

  • (such people exist) 您要查找的词是“代码高尔夫球手”。
  • FWiW, int i=1 比 int(i)=1 短
  • @SilvioMayolo 我一直在寻找一些我不想说出来的冒犯性的东西......代码高尔夫很好,但不适用于工作等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-16
  • 2020-05-24
  • 2021-05-27
  • 1970-01-01
  • 1970-01-01
  • 2016-03-09
相关资源
最近更新 更多