相关疑难解决方法(0)

什么是运营商的相关性以及为什么重要?

什么是关联性(对于运营商)以及为什么重要?

更新:操作员关联性

associativity

80
推荐指数
6
解决办法
5万
查看次数

作业返回的是什么?

为什么表达式i = 2返回2?这基于什么规则?

printf("%d\n", i = 2 ); /* prints 2 */

在Java/C#中花了很长时间后,我在C域.原谅我的无知.

c

35
推荐指数
2
解决办法
2万
查看次数

什么是赋值运算符的返回类型?

我刚刚开始使用C++.我对赋值和解引用运算符的返回类型有点困惑.我正在阅读C++ Primer一书.在不同的场合,作者说,赋值运算符的返回类型是对左手操作数的类型的引用,但后来,他说返回类型是左手操作数的类型.我已经提到了C++ 11标准版.5.17,其中返回类型被描述为"左手操作数的左值".

同样,我无法弄清楚dereference是返回指向对象还是返回对象的引用.

这些陈述是否相同?如果是这样,那怎么样?任何解释将不胜感激.

c++ reference lvalue dereference assignment-operator

22
推荐指数
2
解决办法
3万
查看次数

C/C++赋值运算符实现的低级细节.它返回了什么?

我总是新手到C++世界(也是C).而且不知道它的所有细节.但有一件事让我感到困扰.它是如下构造: while (a=b) {...}.我理解这种魔法是有效的,因为C和C++中的赋值运算符返回了一些东西.所以问题是:它返回了什么?这是一个记录在案的东西吗?它在C和C++中的作用是否相同.关于赋值运算符及其在C和C++中的实现的低级细节(如果存在差异)将非常感激!

我希望这个问题不会被关闭,因为从低层次的角度来看,我无法找到关于这个主题的全面解释和好材料.

c c++ assignment-operator

8
推荐指数
2
解决办法
8432
查看次数

是`C == C++`未定义的行为?

朋友告诉我,之后:

int C = anything;
Run Code Online (Sandbox Code Playgroud)

C == C++会有价值true.这是一个笑话,对经常声称"C与C++不同"的反驳.

但是,由于==不是序列点,我认为这实际上是未定义的行为.程序可能首先进行评估C++,因此C > C++并且C == C++都是未定义的.但是,C >= C++始终会评估为真.当然,当操作数被翻转时也是如此(C++ <= C总是如此,其他一切都是未定义的).

这个分析是否正确?

c++ undefined-behavior

7
推荐指数
1
解决办法
687
查看次数

将调用哪些订单功能

在下面的表达式中是否有一些确定的函数调用顺序,或者它是否因编译器而异?

此处的规则是否适用 - 在C中,未指定大多数运算符的函数和操作数的参数的计数顺序.在此Wiki页面中找到了上述规则

a = (f1(10, 20) * f2(30, 40)) + f3()
Run Code Online (Sandbox Code Playgroud)

c function-calls

3
推荐指数
1
解决办法
163
查看次数