C++中 声明 数组 和 const 变量 时关键字顺序
2009-11-16 10:34
351 查看
1. 定义数组时, 只能使用这样的顺序:
不能使用这样的顺序:
这一点跟 Java 中定义数组是不同的.
2. 定义 const 对象时, 可以使用这样的顺序:
也可以使用这样的顺序:
///////////////////////////////////////////////////////////////////////////////////
关于 const 的用法, <Effective C++ 中文版. 第三版>中P18有阐述:
所以:
和
是一样的, 都表示 ptr 指向一个常量. 而:
没有等价的写法. 指针 ptrc 本身是一个常量, 必须初始化.
TypeName arrayName[SIZE]; // 正确
不能使用这样的顺序:
TypeName [SIZE] arrayName; // 错误
这一点跟 Java 中定义数组是不同的.
2. 定义 const 对象时, 可以使用这样的顺序:
const TypeName varName = initializationValue; // 正确
也可以使用这样的顺序:
TypeName const varName = initializationValue; // 正确
///////////////////////////////////////////////////////////////////////////////////
关于 const 的用法, <Effective C++ 中文版. 第三版>中P18有阐述:
const 语法虽然变化多端, 但并不莫测高深. 如果关键字 const 出现在星号左边, 表示被指物是常量; 如果出现在星号右边, 表示指针自身是常量; 如果出现在星号两边, 表示被指物和指针两者都是常量.
所以:
const TypeName* ptr;
和
TypeName const* ptr;
是一样的, 都表示 ptr 指向一个常量. 而:
TypeName* const ptrc = &constant;
没有等价的写法. 指针 ptrc 本身是一个常量, 必须初始化.
相关文章推荐
- C++带const、static和#define关键字的变量定义的区别
- 笔记:ES6新特性-变量声明关键字:let和const
- const 和 readonly关键字声明的变量的区别
- C++中成员变量加上static或const关键字后的分析
- C++ - 类的成员变量 声明顺序 与 初始化顺序 相同
- 变量声明关键字var、let、const
- C++中成员变量加上static或const关键字后的分析
- [C++再学习系列] 变量的声明、定义与extern关键字
- C++ - 类的成员变量 声明顺序 与 初始化顺序 相同
- C++的声明和定义(针对变量,const变量,C++函数,C函数,类,类的静态成员等)
- C/C++变量声明——extern关键字
- Java第11次作业:什么是继承?继承的好处?什么是覆写?super()?构造代码块?子父类初始化顺序? 抽象类能用final声明吗?final关键字声明类 方法 变量以及全局常量?抽象类的构造方法?
- C语言中const分析(未知大小的全局变量数组声明出错)
- [第二节]C++ 引用 函数调用作为左值 用const限定引用 返回堆中变量的引用
- C++使用变量作为数组长度
- C++动态声明一维数组与二维数组
- 黑马程序员——java基础语法总汇关键字、常量、变量、语句、函数、数组
- C++中函数建立临时变量的机制(const)
- c++ --> const关键字总结
- C++初始化列表问题,类中有一个对象类型的数组成员变量,在初始化列表中初始化时报错“[]”操作符语法错误