#include<string>
#include<iostream>
using namespace std;
class proxy
{
public:
string str{"465"};
string* operator->()
{
return &str;
}
};
class ultimate1
{
public:
string str{"456"};
string* operator->()
{
return &str;
}
};
class ultimate2
{
public:
proxy pt;
proxy& operator->()
{
return pt;
}
};
class ultimate3
{
public:
proxy pt;
proxy* operator->()
{
return &pt;
}
};
int main()
{
string a("sd"),b("asd");
string* p1 = &a;
string* p2 = &b;
if (p1 < p2)
{
cout << "bijiaol" << endl;
}
int sd = 3;
auto obfc = [sd]()mutable {++sd; };
obfc();
ultimate1 xx1;
char c1=xx1->at(0);
ultimate2 xx2;
char c2=xx2->at(0);
ultimate3 xx3;
char c3 = xx3->operator->()->at(0);
return 0;
}