c++的const和typ
时间: 2024-10-08 20:01:47 浏览: 17
C++ 中const和复合类型
在C++中,`const`关键字用于声明常量,它有两个主要用途:
1. **数据成员const**:当你在一个类的数据成员前加上`const`,表示这个数据成员一旦初始化后就不能再更改其值。例如:
```cpp
class MyClass {
const int myValue; // 常量整数值,不允许修改
};
```
2. **函数参数const&**: 如果传递给函数的参数不需要改变它的原始值,可以标记为`const`引用(&)。这有助于避免不必要的复制,并表明意图,如:
```cpp
void printValue(const int& value); // 函数不会改变传入的int值
```
3. **指针const**: `const T*`声明的是指向常量对象的指针,即它不会改变所指向的对象,但对象本身仍可修改。
4. **局部变量const**: 当前作用域内声明的`const`局部变量一旦初始化,其值在整个函数生命周期内不可更改。
另一方面,`typedef`是C++98之前的特性,现在通常使用`using`代替。`typedef`允许你为已存在的类型创建一个新的名称,以便简化代码并提高可读性。例如:
```cpp
typedef int MyInt; // 将int类型别名为MyInt
```
而现代C++更推荐使用`using`:
```cpp
using MyInt = int; // 相同效果
```
阅读全文