什么时候operator <<引用插入操作符,什么时候引用按位左移?
这将输出10,并operator <<指向左移.
cout << a.b() << a.a.b << endl;
Run Code Online (Sandbox Code Playgroud)
这将输出11,operator <<指的是插入运算符.
cout << a.b();
cout << a.a.b ;
Run Code Online (Sandbox Code Playgroud)
我很困惑,什么时候operator <<(使用时cout)会参考左移算子?
#include <iostream>
using namespace std;
class A {
public:
A() { a.a = a.b = 1; }
struct { int a, b; } a;
int b();
};
int A::b(){
int x=a.a;
a.a=a.b;
a.b=x;
return x;
};
int main(){
A a;
a.a.a = 0;
a.b(); …Run Code Online (Sandbox Code Playgroud)