C++取止运算符重载

例子:

#include <iostream>
#include <string>

using namespace std;

class Student
{
public:
    Student() {}
    ~Student() {}

    Student* operator&() {cout << "Get addr" << endl; return this;}
    Student const* operator&() const {cout << "Get const addr" << endl; return this;}

};

int main(int argc, char** argv)
{
    Student Jack;
    &Jack;

    const Student Mike;
    &Mike;

    return 0;
}

程序输出:

~ # ./a.out
Get addr
Get const addr
~ #

原文地址:https://www.cnblogs.com/Robotke1/p/3077896.html