C++ Primer(一)

原创 2016年08月31日 11:05:22

变量

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;

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

今日学习札记——C++Primer补充1(11.7)

1. cout   cin     > 2. 字符串字面值常量,是用一对双引号包围的字符序列。 3. std::cout, 作用域操作符(::)指出我们想使用的定义在命名空间std中。 4...

C++ primer(第五版) 练习 4.22 个人code

 C++ primer(第五版) 练习 4.22 题目:本节的示例程序将成绩划分成hig

C++ Primer Plus学习笔记之String类

C++ Primer Plus学习笔记之String类 一,string类的构造 1)string(const char *s)将string对象初始化为s指向的传统的C字符串 2)stri...

C++ Primer学习总结_1_开始(续)

1.4控制流   1.4.1  while语句    while语句反复执行一段代码,直至给定条件为假为止。     #include int main() { int sum...

重温《C++ Primer》笔记四 构造函数的初始化列表

在C++中保证初始化是非常重要的,因为并不能总是保证第一次使用所定义对象的时候是对其赋值而不是读取。因此,在创建一个对象的时候,编译器总是保证该对象中所有的“子对象”全部被初始化。而我们需要关注的则是...

C++ Primer 【第四版】第十三章 复制控制

1. 什么是复制构造函数?何时使用它?        只有单个形参,而且该形参是对本类类型对象的引用(常用const修饰),这样的构造函数叫复制构造函数。       ...

《C++ primer》(4th)读书笔记(1 start)

0,Preface等相关  structure of this book: Much of the power of C++ comes from its support for programmin...

C++ primer 第十四章

1. 不能改变内置类型操作符的含义,也不能为内置类型添加新的操作符。如,不能定义接受两个数组类型操作数的 operator+ 。   2. 作为类成员的重载函数,this形参隐含作为第一个操作数,...

C++ Primer Plus 学习笔记 第四章 03

声明:本文整理自《C++ Primer Plus》 100天之第04天 01 使用new创建动态结构 inflatable * ps = new inflatable; 把存储...

《C++ Primer Plus(第六版)》(2)(第三章 处理数据 笔记和答案)

1.数据类型的宽度,可能受到不同语言和不同操作系统的影响。C++只做了最小宽度的限制。 short至少是16位 int至少和short一样长 long至少是32位 long long至少是64位,至少...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)