const int a = 1; 和 const int &a = 1; 的区别

参考资料:

https://ask.csdn.net/questions/677193

const int a = 1; 相当于a的值在编译的时候会替换为1
int b[a];
相当于
int b[1];
而const int &a = 1;
a还是变量,只是这个变量不允许修改(编译器保证)

而int b[变量]是否合法这个取决于你的编译器。
对于gcc,这是成立的,对于vc++,这个不允许。

你可能感兴趣的:(const int a = 1; 和 const int &a = 1; 的区别)