我在VC++ 2015中尝试了以下代码
#include <iostream>
#include <string>
using namespace std;
int foo(int v)
{
cout << v << endl;
return 10;
}
string bar(int v)
{
cout << v << endl;
return "10";
}
int main()
{
auto a = foo(1) + foo(2) + foo(3);
auto b = bar(10) + bar(20) + bar(30);
cout << "----" << endl << a << endl << b << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
控制台上的结果如下
1
2
3
30
20
10
----
30
101010
Run Code Online (Sandbox Code Playgroud)
众所周知,二元+运算符具有从左到右的关联性,并且可以通过3次调用来确认foo …