关闭

C++ Primer(一)

140人阅读 评论(0) 收藏 举报
分类:

变量

1.变量类型

1. 常用的C++算术类型
type meaning minimum size
bool boole type undifine
char character type 8 byte
int integer type 16 byte
long long integer 32 byte
long long longer long integer 64 byte
float single precision float 6 significant number
double double precision float 10 significant number
2. 类型转换
  • 非boole类型的算术值赋给boole类型时,初始值为0则结果为false,初始值不为0时则结果为true。
  • boole类型的算术值赋给非boole类型时,false的结果为0,true的结果为1。
  • 浮点数类型的算术值赋给整型时,结果向下取整。
  • 整型的算术值赋给浮点数类型时,小数部分为0.
  • 给无符号类型赋一个超出其表示范围的值时,结果为初始值模无符号类型能表示数值总数取整后的值。

例如,8 byte大小的unsigned char可以表示0281=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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1161次
    • 积分:118
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条