C++ 修饰符使用总结

本文详细总结了C++中的修饰符,包括基础类型修饰符(如signed、unsigned)、限定修饰符(const、volatile、restrict)、类访问修饰符(如public、private、protected)、存储类修饰符(如auto、register、static、extern、mutable、thread_local)。重点讨论了const的不变性、volatile在多线程中的应用、以及存储类修饰符如何影响变量的范围和生命周期。
摘要由CSDN通过智能技术生成

C++ 修饰符使用总结

基础类型修饰符

C++ 允许在 char、int 和 double 等基础数据类型前放置修饰符。基本类型常用的修饰符有:

  • signed

  • unsigned

  • long

  • short

修饰符 signed、unsigned、long 和 short 可应用于整型,signedunsigned 可应用于字符型,long 可应用于双精度型。

修饰符 signedunsigned 也可以作为 longshort 修饰符的前缀。例如:unsigned long int

C++ 允许使用速记符号来声明无符号短整数无符号长整数。您可以不写 int,只写单词 unsigned、shortunsigned、long,int 是隐含的。例如,下面的两个语句都声明了无符号整型变量。

unsigned x;
// 等价于
unsigned int y;

C++ 解释有符号整数和无符号整数修饰符之间的差别:

#include <iostream>
using namespace std;

int main()
{
   
   short int i;           // 有符号短整数
   short unsigned int j;  // 无符号短整数
   j = 50000;
   i = j;
   cout << i << " " << j;
   return 0;
}

运行结果

-15536 50000

对于无符号化为有符号的位数运算,采取 N − 2 n N-2^n N2n 的计算方法,n 取决于定义的数据类型 int、short、char、long int 等等,N 为无符号数的数值,例如文中的 N=50000,short 为 16 位,计算方法为 50000 − 2 1 6 50000-2^16 50000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值