Ada*_*dam 0 c++ arrays pointers const
假设我有一个指向整数的指针数组(即每个元素都是指向int的指针)
int** ptrArray;
Run Code Online (Sandbox Code Playgroud)
我想阻止更改数组条目指向的整数
我需要把const放在哪里?
1. const int ** ptrArray
2. int const ** ptrArray
3. int *const* ptrArray
4. int ** const ptrArray
Run Code Online (Sandbox Code Playgroud)
对此有什么规定吗?像"第一个const保护数据","第二个const保护指针"等等?
const的位置背后是否有任何逻辑?放置的地方与保护的地方之间有什么联系?
这对我来说是一个令人困惑的问题,如果有人可以给我任何指导或链接,我会真的很高兴我可以阅读更多关于如何以及在何处使用const基于我想要保护的内容(如果我需要使用三维数组中的const或左右)
对此有什么规定吗?像"第一个const保护数据","第二个const保护指针"等等?
是:const适用于左边,除非那里没有任何东西,然后它适用于右边.
因此,这个:
int const** ptrArray;
Run Code Online (Sandbox Code Playgroud)
但是,作为特例,这是等效的:
const int** ptrArray;
Run Code Online (Sandbox Code Playgroud)
这意味着通用的模式const int x;是实际上 int const x;的化身.
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |