C++ const 在静态数组声明中使用了两次

标签 c++ arrays static constants

我已经看到 conststatic 数组的声明中使用了两次,现在我正在创建自己的静态数组,我想知道为什么需要两次 const在某些情况下。

指针数组有什么不同吗?

a. static const TYPE name[5];
b. static const TYPE const name[5];

c. static const TYPE* name[5];
d. static const TYPE* const name[5];

我的理解是b.是无效的,但是如果两次使用const是有效的,它的作用是什么?

最佳答案

const TYPE* x;

表示x指向的东西是const。

TYPE* const x;

表示指针 x 是常量。

结合你得到的 2:

const TYPE* const x;

意思是指针和指向的东西都是常量。

关于C++ const 在静态数组声明中使用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12100659/

相关文章:

c++ - 将 std::format 与自定义类型一起使用

java - Java 和 C++ 对象的低延迟分布式缓存

c++ - 在 C++ 中动态调用静态 "constructor"

javascript - 组合两个数组以形成 JavaScript 对象

C++/菱形继承(钻石问题)/静态变量

c++ - 函数级静态变量 NOT static 用于惰性簿记

c++ - Ubuntu 16.04,Nvidia toolkit 8.0 RC,暗网编译错误: expected a ";"

php - 将php数组转换成xml文件

java - java中的栈是如何实现的?

objective-c - Objective C 静态库与 Pod 依赖关系 swift 文件错误