常变量const

本文通过一个简单的C++程序示例,展示了如何使用常量进行数学运算,并输出结果到控制台。程序中定义了一个常量a,其值为3,以及一个变量b,其值为4。然后,将这两个数值相加并将结果存储在变量c中,最后输出c的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<iostream>

void main()
{
	const int a = 3;//常变量的值不能改变,始终为3
	/*
	不能错误写成   const int a;
	               a=3;
	*/
	int b = 4;
	int c;
	c = a + b;
	std::cout << "c= " << c << std::endl;
	std::cin.get();
}

 

### C++ 中 `const` 变量的定义与使用 #### 基本概念 在C++编程中,`const` 关键字用于定义量。一旦通过 `const` 定义了某个变量,则该变量的值在其生命周期内不可更改[^1]。 #### 替代宏定义 传统上,程序员会利用预处理器指令如 `#define` 来创建符号量。然而,在现代C++实践中更倾向于采用 `const` 或者 `constexpr` 来代替 `#define` 的做法,因为这可以提供更好的类型安全性和作用域控制。 #### 全局范围内的应用 当需要确保某些数据在整个应用程序期间保持不变时,可以通过将它们声明为具有外部链接性的 `const` 类型来达到此效果。这意味着即使是在不同的源文件间共享这些数也是可行的,并且能够防止意外修改[^2]。 #### 指针相关特性 针对指针而言,存在几种方式指定哪些部分应该视为恒定不变: - 当写作 `const int *p;` 时表示指针所指向的对象是一个整型量;即不能经由指针改变对象本身的数值。 - 若写成 `int * const p = &var;` 则意味着指针本身的位置固定下来而其所指向的数据是可以变动的。 - 还有一种形式是两者皆可变的情况下的组合表达式 `const int * const p = &var;` ,这里既限定了地址也限定了内容不得变更[^3]。 #### 静态局部化处理 有时为了避免命名空间污染或者避免不必要的重复实例化问题,可以在单个翻译单元内部使用带有静态存储持续期(`static`)的关键字修饰符配合`const`一起工作。这样做不仅可以让编译器知道这是一个仅在此处有效的实体而且有助于优化性能[^4]。 ```cpp // Example of defining a constant with internal linkage using both 'static' and 'const' namespace { static const double PI = 3.14159; } ``` #### 头文件中的注意事项 如果打算在一个头文件里放置一个真正的全局量而不是仅仅声明的话,需要注意潜在的一次多定义错误风险。通建议的做法是在头文件中只做声明而在单独的一个CPP实现文件里面完成具体的初始化操作[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值