常量数组指针指向常量值
Const array pointer to const values
如果我创建一个常量值的全局数组,例如
const int SOME_LIST[SOME_LIST_SIZE] = {2, 3, 5, 7, 11};
是否可以以任何方式修改SOME_LIST?
我怎样才能写出这样SOME_LIST指向常量内存位置,并且是常量指针本身(即不能指向其他地方)?
有 3 个涉及 "const" 关键字的指针的主要示例。(见此链接)
首先:声明指向常量变量的指针。指针可以移动并更改它指向的内容,但无法修改变量。
const int* p_int;
其次:声明指向变量的"不可移动"指针。指针是"固定的",但数据可以修改。必须声明和分配此指针,否则它可能指向 NULL,并在那里修复。
int my_int = 100;
int* const constant_p_int = &my_int;
第三:声明一个指向常量数据的不移动指针。
const int my_constant_int = 100; (OR "int const my_constant_int = 100;")
const int* const constant_p_int = &my_constant_int;
你也可以使用它。
int const * const constant_p_int = &my_constant_int;
另一个很好的参考见这里。我希望这会有所帮助,尽管在写这篇文章时我意识到你的问题已经得到了回答......
你拥有它的方式是正确的。
此外,您不需要提供SOME_LIST_SIZE
;C++将从初始值设定项中自动计算出来。
相关文章:
- 将常量指针引用绑定到非常量指针
- 如何使用数据对象上的常量指针初始化类
- 为什么我收到"从常量指针到指针的转换无效?
- C++/QT:使用指向私有成员的常量指针作为只读数据共享
- 是否可以使用非常量指针调用非常量函数,以及当两个unique_ptrs指向同一个对象时程序的行为方式?
- 为什么C++中没有常量引用,就像常量指针一样?
- 对于非常量指针类型的参数,未调用具有常量指针模板类型参数的功能
- 将常量指针强制转换为非常量
- 带有常量指针的矢量构造函数示例
- 什么是常量指针常量引用类型的参数?(const X* const & p)
- 在多线程函数中返回共享的常量指针会导致计时问题吗?
- 常量指针上的混乱
- 使用 static_cast 时指向常量指针的原因
- 如何在C++中定义常量指针数组?
- 测试此指针的常量指针性质
- 当常量指针用作函数的参数时
- C++ - 无法将顶部常量指针分配给另一个非常量指针
- 在不同类型之间转换常量指针
- 解构常量指针?
- 为什么 std::vector<>::const_reference 可以转换为非常量指针?