c++ primer(第五版)笔记 第二章(2) 变量
2014-07-30 01:13
337 查看
#include<string> #include<iostream> using std::cout; using std::endl; int zero; //定义 extern int i = 3; //定义 extern int l; //声明 extern int l; //声明,可以多次声明,但定义只能有一个 extern int l; //声明 int main() { //数据类型决定了变量所占空间的大小,布局方式,空间所存储值的范围以及变量能参与的运算 //初始化(initialized)是创建变量时赋予某一个初始值 //赋值是把当前变量的值擦除,然后赋予另一个新值 //初始化的几种方式: int a = 1, b = { 1 }, c(3.14), d{ 1 }; //花括号为 c++11 标准,初始化列表(initialized list),使用该方式初始化内置类型时,如果初始值存在丢失信息的风险,编译器会报错 //int e{ 3.14 }; //conversion from 'double' to 'int' requires a narrowing conversion //内置类型的变量,定义在任何函数体外,将被初始化为0,而定义在函数内部的不会初始化,其值是未定义的 //初始化每一个内置类型的变量是个好习惯 cout << "zero:" << zero << endl; //0 int unkown; //cout << "unkown:" << unkown << endl; //Error uninitialized local variable 'unkown' used //类类型的对象如果没有显式初始化,其值由类决定 std::string strNull; cout << "strNull:"<< strNull << "!" << endl; //strNull:! //c++ 支持分离式编译(separate compilation)机制,静态类型(statically type)语言,在编译阶段检查类型,用于判断是否支持要执行的运算,所以在使用某个变量前必须声明其类型 //变量的声明(declaration)规定了变量的类型和名字,使其为程序所知,除此之外,定义(definition)还申请了存储空间,有时还会初始化一个值,从而创建了与名字相关的实体 //extern 关键字前缀表示声明,但如果同时显式初始化一个值则为定义,该行为在函数体内将引发错误 //extern int k = 3; error C2205: 'k' : cannot initialize extern variables with block scope //标识符(identifier)由字母,数字,下划线组成,不能以数字开头,长度无限制,大小写敏感 //保持一种命名规范,如 google C++ Style:https://google-styleguide.googlecode.com/svn/trunk/cppguide.xml //域(scope),大多作用域都用花括号分隔,同一个标示符在不同的作用域可能表示不同的实体 //名字的作用域从名字的声明处开始,到所在域末端结束 //已声明的标识符可以在所有内层作用域被识别,并允许内层重新定义外层已有的标识符,还可以通过域操作符访问其他域的标识符 int i = 5, sum = 0; cout << i << endl; //5,屏蔽了全局变量 i cout << ::i << endl; //3 访问全局变量 i for (int i = 0; i != 10; ++i) //重新定义外层已有的 i,不指明域的情况下,循环体内的 i 都是该值 sum += i; //sum 使用的外层 sum cout << i << " " << sum << endl; //5 45 无法访问内层域内的 i 值, 2个变量都是外层域的 return 0; }
相关文章推荐
- c++ primer(第五版)笔记 第二章(4)const, decltype, auto
- C++ Primer 第二章 变量和基本类型 笔记
- C++Primer第五版【学习笔记】——第二章 变量和类型
- C++ Primer 5 笔记 第二章 变量和基本类型
- c++ primer 第五版学习笔记-第二章-类型转换
- C++ Primer 学习笔记(第二章:变量和基本类型)
- C++ Primer 笔记(2)第二章 变量与基本类型
- 《C++ primer》英文第五版阅读笔记(三)——变量
- C++ Primer 第二章 变量和基本类型 笔记
- C++Primer第五版【学习笔记】——第二章 变量和类型
- c++ primer 第五版学习笔记-第二章-decltype类型推断
- 《 C++ Primer 第五版》笔记(一):1-3章 变量和基本类型,字符串、向量和数组
- c++ primer(第五版)笔记 第二章(3)复合类型
- c++ primer 第五版学习笔记-第二章-顶层和底层const
- C++ Primer复习和学习笔记 第二章 变量和基本类型
- c++ primer 学习笔记 第二章 变量和基本类型
- 《C++ Primer》笔记——第二章 变量和基础类型
- c++ primer(第五版)学习笔记及习题答案代码版(第二章)
- c++ primer第五版(中文)习题答案 第二章第二节-变量
- c++ Primer学习笔记之第二章 变量和基本类型