有没有办法方便地调用模板 operator-> ?在像变体这样的类中有这种可能性会很酷
例如:(这只是一个例子)
struct base_t
{
template<class T>
T* operator->()
{
return reinterpret_cast<T*>(this);
}
};
int main(int argc, char* argv[])
{
base_t x;
x.operator-><std::pair<int,int>>()->first; //works, but inconvenient
x<std::pair<int,int>>->first; // does not work
x-><std::pair<int,int>>first; //does not work
return 0;
}
我需要证明=)