c++ primer 读书笔记三
来源:互联网 发布:西安软件新城公寓 编辑:程序博客网 时间:2024/06/05 02:16
2.2.2声明和定义的关系
声明使得名字为程序所知,一个文件如果想使用别处的定义的名字则必须包含对名字的声明,而定义则负责创建与名字相联的实体extern int i;//声明而非定义int i//声明并且定义j初始化的声明等于定义变量能被定义一次,但可以被多次声明
2.2.4名字的作用域
嵌套得的作用域
作用域能彼此包含,被包含(或者说被嵌套)的作用域被称为内层作用域
作用域一旦声明了某个名字,它嵌套的所有作用域都能被访问该名字。同时,允许在内层作用域重新定义外层作用域已有的名字
#include<iostream>int reused=42;//拥有全局作用域int main(){int unique=0;//拥有块作用域std::cout<<reused<<"; "<<unique<<std::endl;//42 ;0int reused=0;//新建局部变量reused,覆盖了全局变量reusedstd::cout<<reused<<" "<<unique<<std::endl;//输出0,0std::cout<<::resued<<""<<unique<<std::endl;//::显式地访问全局变量输出结果42 0;
2.3.1引用
引用为对象起另外一个名字
int ival=1024;int &refval=ival;//refVal指向ivalint &refval2//错误,引用必须被初始化一般在初始化变量时初始值会拷贝到新建的对象中,然而定义引用时,程序把引用和它的初始值绑定在一起而不是将初始值拷贝给引用,一旦初始值完成,引用将它的初始值对象一直绑定在一起引用就是别名:引用并非对象,相反的,它只为一个已经存在的对象所起的另外一个名字。定义了一个引用之后对其进行的操作都是与之绑定的对象上进行的:refVal=2;int ii=refVal;引用的定义允许在一条语句中定义多个引用,其中每个引用标识符都必须以符号&开头:int i=1024,i2=2048;//i和i2都是intint &r=i,r2=i2;//r是一个引用,与i绑定在一起,r2是intint i3=1024,&ri=i3;int &r3=i3,&r4=i2;int &refVal4=10;错误:引用类型的初始值必须是一个对象double dval=3.14;int &refVal5=dval; 错误:引用类型的初始值必须是int型对象
阅读全文
0 0
- 《C++primer》读书笔记三
- C++Primer读书笔记(三)
- C++ primer 读书笔记三
- c++ primer 读书笔记三
- 《c++primer》读书笔记三 重载操作符与转换
- 《C++Primer》读书笔记(三)字符串、向量、数组
- C-PRIMER PLUS读书笔记
- C-PRIMER PLUS读书笔记
- C++Primer读书笔记(一)
- C Primer Plus 读书笔记
- C++Primer读书笔记(二)
- 写写C++Primer读书笔记
- C primer 读书笔记1
- C++Primer读书笔记
- C++Primer读书笔记 Al
- C++primer读书笔记
- c primer读书笔记 第一章
- C++primer读书笔记5
- uLua插件使用总结 (一)
- 计算机组成原理(二)
- Don't Let Linux Control Groups Run Uncontrolled
- Java NIO解析
- 这绝对是有史以来最详细的web前端学习路线
- c++ primer 读书笔记三
- HDOJ1194 Beat the Spread!
- 数据结构实验之图论十:判断给定图是否存在合法拓扑序列
- 网络流(最大流,最小割)基础入门详解
- Leetcode:Palindrome Partitioning & Palindrome Partitioning II
- BZOJ3223: Tyvj 1729 文艺平衡树(洛谷P3391)
- 让你的.vue文件在sublime text 3 中变成彩色?Vue Syntax Highlight
- 文件与流简介(1)
- floor