C++ Primer(一)

变量

1.变量类型
1. 常用的C++算术类型
typemeaningminimum size
boolboole typeundifine
charcharacter type8 byte
intinteger type16 byte
longlong integer32 byte
long longlonger long integer64 byte
floatsingle precision float6 significant number
doubledouble precision float10 significant number
2. 类型转换
  • 非boole类型的算术值赋给boole类型时,初始值为0则结果为false,初始值不为0时则结果为true。
  • boole类型的算术值赋给非boole类型时,false的结果为0,true的结果为1。
  • 浮点数类型的算术值赋给整型时,结果向下取整。
  • 整型的算术值赋给浮点数类型时,小数部分为0.
  • 给无符号类型赋一个超出其表示范围的值时,结果为初始值模无符号类型能表示数值总数取整后的值。

例如,8 byte大小的unsigned char可以表示 0 281=255区间内的所有值,如果赋予其一个超出区间的值,则结果是该值模256。因此如果把 1 赋值给一个unsigned char,那么结果是

(1)mod256=255

    unsigned u = 10, u2 = 42;
    cout << u2 - u << endl;
    cout << u - u2 << endl;
    unsigned u = 10, u2 = 42;
    cout << u2 - u << endl;
    cout << u - u2 << endl;
    int i = 10, i2 = 42;
    cout << i2 - i << endl;
    cout << i - i2 << endl;
    cout << i - u << endl;
    cout << u - i << endl;
    cout << i - u2 << endl;
    cout << u2 - i << endl;

只有u-u2i-u2是有unsigned类型参与的运算但结果为负数,因此需要取 232=4294967296 的模,均为4294967264

2. 变量初始化
3. 变量标识符(变量名)

C++对于变量标识符必须由数字、字母和下划线组成。
标识符必须以下划线或者是字母开头,标识符长度无限制,大小写敏感。
命名法则(Camel Case):变量标识符应当反应出变量的实际含义;第一组单词全部小写,以后的每个单词首字母大写。

int salesProfit;//这是一个好的变量名,符合Camel法则
int a,b;//这是一个坏的变量名
4.名字的作用域
5.引用

引用类型引用另外一种类型,通过将声明符写作&d的形式来定义引用类型,其中d是声明的新变量名。

int ival=1024;
int &refVal=ival;       //refVal是ival的另一个名字
int &refval2;           // Error:reference must be initialized.

Note
- 一般在初始化变量的时候,初始值会被拷贝到新建的对象中。
- 然而在定义引用时,程序把引用和它的初始值绑定在一起,而不是把初始值拷贝给引用,一旦初始化完成,引用将和它的初始值一直绑定在一起。
- 因为无法将引用重新绑定到另一个对象。

    int ival = 12,uval=10;
    int &refVal = ival;
    cout << "refVal=" << refVal << '\0' << "ival=" << ival << endl;
    //输出 refVal=12 ival=12
    refVal = uval;
    cout << "refVal=" << refVal << '\0' << "ival=" << ival << endl;
    //输出 refVal=10 ival=10
    return 0;

可以看出一旦对引用初始化以后,一改全改,对引用的任何操作都看作对于初始值的操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值