CXu*_*ong 4 c++ operator-precedence associativity
我在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.它们是通过指令从左到右调用的.
我的问题是,为什么这似乎不适合string::operator+?我是否陷入了一些误解?
| 归档时间: |
|
| 查看次数: |
179 次 |
| 最近记录: |