C++变量和基本类型

基本内置类型

通常将8位的块作为一个字节,32位或者4个字节作为一个“字”(word)。1 字 = 4字节 = 32位 = 4 * 8位
一般的,short类型为半个机器字(word)长,int类型为一个机器字长,long类型为一个或者两个机器字长(在32位机器中,int和long类型字长相同)

unsigned型取值:0~255
signed型取值:-128~127 表示signed类型最常见的策略是用其中一位作为符号位。符号位为1表示负数,符号位为0表示正数
float类型用一个字32位表示。double类型用两个字64位表示。long double用三个或四个字96位或128位表示
float只能保证6位有效数字,double类型至少可以保证10位有效数字

如果将一个超出取值范围的值赋给一个指定类型的对象时,处理的方式取决于类型是signed还是unsigned。比如:8位的unsigned char,取值范围0~255,如果超出255,编译器会取该值对256求模之后的值。将336存储在8为unsigned char中,则实际赋值为80。(336 % 256 = 80)
C++中,把负值赋给一个unsigned对象是完全合法的,其结果是该负数对该类型的取值个数求模之后的值。如果把-1赋值给unsigned char,那么结果是255。(-1 % 256 = 255)

变量

变量名,即变量的标示符。必须以字母或者下划线开头,区分大小写。不能包含两个连续的下划线,也不能以下划线开头后面紧跟一个大写字母。

int ival(1024);  //直接初始化
int ival = 1024;  //复制初始化

初始化并不是赋值。赋值是擦除对象的当前值并用新值代替。

在函数体外定义的变量都初始化成0,定义在函数体里的变量不进行自动初始化。

std::string global_str;
int global_int;
int main()
{
int local_int;
std::string local_str;
// ...
return 0;
}
//【解答】
//global_str 和 local_str 的初始值均为空字符串, global_int的初始值为 0,local_int 没有初始值。

const限定符

const变量,在定义后就不能被修改,所以定义的时候一定要初始化。
在全局作用域里面声明的const对象,默认为文件的局部变量。此变量只存在于那个文件中,不能被其他文件访问。
通过指定const变量为extern,就可以在整个程序中访问const对象,意味着可以在其他文件中使用。
非const变量默认为extern。要使const变量能够在其他的文件中访问,必须显式地指定它为extern。

引用

引用只是对象的另一个名字。
“const引用”是指向const对象的引用。
非const引用只能绑定到与该引用类型相同的对象。const引用可以绑定到不同但相关的类型的对象,或者绑定到右值。
在这里插入图片描述

class和struct,struct也可以定义类类型。
如果用class来定义类,那么定义在第一个访问标号前的任何成员都隐式的指定为private;
如果用struct关键字,那么这些成员都是public。
使用class和struct来定义,仅仅影响默认的初始访问级别。

class和struct的唯一区别就是:默认情况下,struct的成员为public,class的成员为private。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值