cpp const关键字用法
时间: 2023-01-15 22:59:00 浏览: 100
const 关键字用于声明常量。常量是指在程序执行期间不会改变的量。
在 C++ 中,常量可以是任意类型,包括基本类型(如 int、char 等)和用户定义类型。常量的值必须在编译期间确定,并且不能在程序执行期间改变。
使用 const 关键字声明常量的语法如下:
```cpp
const type name = value;
```
例如,要声明一个名为 pi 的常量,类型为 double,值为 3.14,可以使用以下语句:
```cpp
const double pi = 3.14;
```
注意:使用 const 关键字声明的常量名称必须使用大写字母表示,这是一种编程习惯。
您还可以使用 const 关键字来声明指针常量。例如,要声明一个指向常量的指针,可以使用以下语句:
```cpp
const int* p = &x;
```
这表示 p 是一个指针,它指向的内存位置的值是常量。这意味着您不能通过指针修改指向的内存位置的值。
您还可以声明一个指向常量的常量指针。例如,要声明一个指针,它本身是常量,并指向常量,可以使用以下语句:
```cpp
int x = 10;
const int* const p = &x;
```
相关问题
C++constexpr关键字和const关键字的区别
`const` 和 `constexpr` 都是 C++ 中用来表示常量的关键字,但它们有着不同的作用和用法。
`const` 关键字用于声明一个变量为常量,即其值不能被修改。例如:
```cpp
const int x = 5;
```
这里声明了一个整型常量 `x`,其值为 5,一旦被初始化,就不能再被修改。
`constexpr` 关键字用于声明一个表达式为编译期常量,即其值可以在编译期计算出来。例如:
```cpp
constexpr int y = 5 + 3;
```
这里声明了一个整型常量 `y`,其值为编译期常量 8。`constexpr` 关键字可以用于函数和表达式,例如:
```cpp
constexpr int square(int x) {
return x * x;
}
constexpr int z = square(3);
```
这里声明了一个 `square` 函数,它接受一个整型参数并返回其平方值。由于 `square` 是一个 `constexpr` 函数,因此它可以在编译期被计算,而不需要在运行时执行。因此,声明 `z` 时,可以将 `square(3)` 当做编译期常量来计算。
综上,`const` 关键字用于声明变量为常量,而 `constexpr` 关键字用于声明表达式为编译期常量。
cpp中const用法
在 C++ 中,const 关键字用于指定变量或函数的常量性,即表示该变量或函数的值或返回值不能被修改。
1. 常量变量
声明一个常量变量需要在变量类型前面加上 const 关键字。例如:
```cpp
const int MAX_NUM = 100;
```
这里定义了一个常量 MAX_NUM,它的值为 100,不能被修改。如果试图修改 MAX_NUM 的值,会导致编译错误。
2. 常量指针
声明一个指向常量的指针需要在变量类型前面加上 const 关键字。例如:
```cpp
const int* p = &MAX_NUM;
```
这里定义了一个指向常量的指针 p,p 指向 MAX_NUM,但是不能通过 p 修改 MAX_NUM 的值。如果试图修改 p 指向的值,也会导致编译错误。
3. 指针常量
声明一个常量指针需要在指针变量前面加上 const 关键字。例如:
```cpp
int num = 10;
int* const p = #
```
这里定义了一个常量指针 p,p 指向 num,但是 p 的值不能被修改。也就是说,p 不能指向其他的内存地址。如果试图修改 p 的值,也会导致编译错误。
4. 常量成员函数
在类中声明一个成员函数为常量成员函数,需要在函数声明后面加上 const 关键字。例如:
```cpp
class MyClass {
public:
void func() const;
};
```
这里声明了一个常量成员函数 func(),在该函数中不能修改成员变量的值。常量成员函数可以被常量对象和非常量对象调用,但是非常量对象不能调用常量成员函数以外的成员函数。
总之,const 关键字用于指定变量或函数的常量性,可以有效地防止程序中的错误修改,提高程序的可靠性和安全性。