const reference attribute elimination

#include <iostream>

using namespace std;

int fun(int const &r)
{
    return ++(int&)r;
}
/*
int fun2(int const &r)
{
    return ++r;
}

Error:

 error: increment of read-only reference ‘r’
     return ++r;
*/
int main()
{
    int a = 0;
    cout << fun(a) << endl;// a=1
    //cout << fun2(a);
    return 0;
}

Guess you like

Origin blog.csdn.net/csdn1126274345/article/details/104384313