c与c++的区别

时间:2022-09-09 18:22:33

在C中a++或++a 及表达式不能做作左值,而在C++中++a可做左值

#include <iostream>
using namespace std;

int main()
{
int a = 2;
++a = 12; //这里可以++a返回的是a
//a++ = 9;error 9不能赋值为一个无法标识的内存

cout << "a: " << a << endl;
cout << "&a: " << &a << endl;
cout << "&(++a): " << &(++a) << endl;
//cout << "&(a++): " << &(a++) << endl;
cout << "a: " << a << endl;

//C++:ok C:error //寄存器变量不在内存中,但c++可做优化临时开辟
register int a_a = 10;
cout << "&a_a: " << &a_a << endl;
return 0;
}