当我问到C++中int和const之间有什么不同?有人这样说.
可以在需要时修改int,它是读/写,而const int是只读的.(可以动态更改).您可以将const int用于类似固定值的内容,并且const int内存使用率小于普通int.
这是真正的const int内存使用量是否小于普通int.在C++中?
它可能会也可能不会,取决于它的使用方式.大多数编译器非常聪明,const如果他们不需要它,就不能为对象创建存储.所以,例如:
void f() {
const int arr_size = 10;
int arr[arr_size];
// do something with arr
}
Run Code Online (Sandbox Code Playgroud)
这里,唯一的用途arr_size是指定数组的大小.没有必要为此创建一个int对象; 编译器只是创建一个大小为10的数组.
另一方面:
void f(const int* ip) {
// do something with ip
}
int main() {
const int n = 100;
f(&n);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这里,编译器必须为其创建一个int对象n,因为代码的地址为n.
| 归档时间: |
|
| 查看次数: |
343 次 |
| 最近记录: |