直到今天,我还以为:
i += j;
Run Code Online (Sandbox Code Playgroud)
只是一个捷径:
i = i + j;
Run Code Online (Sandbox Code Playgroud)
但是如果我们试试这个:
int i = 5;
long j = 8;
Run Code Online (Sandbox Code Playgroud)
然后i = i + j;将不会编译但i += j;将编译正常.
这是否意味着事实上i += j;是这样的捷径
i = (type of i) (i + j)?
java casting operators variable-assignment assignment-operator
我已经在C ++上编程了一段时间了。我的问题也许仍然很幼稚。:)
+ =和+有什么区别。例如
std::string a = "Hi";
a += "b" + "c";
Run Code Online (Sandbox Code Playgroud)
要么
std::string a = "Hi";
a = a + "b" + "c";
Run Code Online (Sandbox Code Playgroud)
如果存在任何差异,则哪个更优化使用?哪一个操作次数较少?