C++学习第四天
2014-05-26 21:45
225 查看
C++学习第四天
名字的作用域,跟java的差不多,也是局部变量优先的原则。C++可以在任何的地方定义变量,跟java一样,建议在使用变量的地方定义变量。
const限定符:
count是指定常量的关键字,所以const定义的变量需要显示初始化,
该变量定义后将不能改变其值,相当于该变量是只读的,不可写的。 跟java的final(java的final变量只能初始化一次)的效果差不多。例如:
int cut=0;
const int sz=cut;
cut++;
//由于sz是一个常量
//所以下面的语句尝试修改sz的值,将报错
sz++;
除非特别说明,在全局作用域声明的const变量是定义该对象的文件的局部变量,不能被其他文件访问。非const变量默认为extern。要使const变量能够在其他的文件中访问,必须显式指定它为extern。
C++引用:引用是一种符合类型,通过在变量名前添加“&”符号来定义。其中复合类型是指用其他类型定义的类型。引用是别名,引用只是它绑定的对象的另一个名字,作用在引用上的所有操作事实上都是作用在该引用绑定的对象上。例如:
int
ival=10;
int
&refVal=ival;
//引用必须用与该引用同类型的对象初始化:
//将refVal指向的对象ival加上2.修改引用的值,就是修改被引用的值。
refVal+=2;
const引用,const引用是指const对象的引用。例:
const引用可以初始话为不同类型的对象,或者初始化为右值,如字面常量。
同样的初始化对非const引用却是不合法的,而且会导致编译错误,因为非const引用只能绑定到与该引用同类型的对象。
//int i=42;
//const int &r=43;
//const int &r2=r+i;
//将引用绑定到不同的类型时:
double dval=3.14;
const int &ri=dval;
//编译器会把这些代码转换澄如下形式的编码:
int temp=dval;
const int &ri=temp;
//如果ri不是const,则可以为ri赋新值,这样不会修改dval的值,而是修改了temp的值。
名字的作用域,跟java的差不多,也是局部变量优先的原则。C++可以在任何的地方定义变量,跟java一样,建议在使用变量的地方定义变量。
const限定符:
count是指定常量的关键字,所以const定义的变量需要显示初始化,
该变量定义后将不能改变其值,相当于该变量是只读的,不可写的。 跟java的final(java的final变量只能初始化一次)的效果差不多。例如:
int cut=0;
const int sz=cut;
cut++;
//由于sz是一个常量
//所以下面的语句尝试修改sz的值,将报错
sz++;
除非特别说明,在全局作用域声明的const变量是定义该对象的文件的局部变量,不能被其他文件访问。非const变量默认为extern。要使const变量能够在其他的文件中访问,必须显式指定它为extern。
C++引用:引用是一种符合类型,通过在变量名前添加“&”符号来定义。其中复合类型是指用其他类型定义的类型。引用是别名,引用只是它绑定的对象的另一个名字,作用在引用上的所有操作事实上都是作用在该引用绑定的对象上。例如:
int
ival=10;
int
&refVal=ival;
//引用必须用与该引用同类型的对象初始化:
//将refVal指向的对象ival加上2.修改引用的值,就是修改被引用的值。
refVal+=2;
const引用,const引用是指const对象的引用。例:
const引用可以初始话为不同类型的对象,或者初始化为右值,如字面常量。
同样的初始化对非const引用却是不合法的,而且会导致编译错误,因为非const引用只能绑定到与该引用同类型的对象。
//int i=42;
//const int &r=43;
//const int &r2=r+i;
//将引用绑定到不同的类型时:
double dval=3.14;
const int &ri=dval;
//编译器会把这些代码转换澄如下形式的编码:
int temp=dval;
const int &ri=temp;
//如果ri不是const,则可以为ri赋新值,这样不会修改dval的值,而是修改了temp的值。
相关文章推荐
- C++第四天学习
- 学习C++的第四天
- C++学习手记(一)——初印象
- 学习C++(VC)四步曲
- 学习C++(一) 我现在理解的C++
- C++学习笔记二 —— 3.3 指针类型
- 刚才在论坛上看到的一些学习C++的东东,可能对初学有点用
- 开篇,从Kingofark那转过来的 关于学习C++和编程的50个观点 2003修订版
- 学习C++(二) 书的诱惑
- C++学习手记(三)——构造与析构
- C++学习笔记一 —— 3.5 const限定修饰符
- 一个C++程序员的Delphi学习笔记
- c++入门学习笔记--类和对象
- C++、C++学习之我见
- C++学习历程
- c++入门学习笔记继承
- kingofark关于学习C++和编程的50个观点
- 高质量C++/C编程指南学习笔记(上)
- Kingofark关于学习C++和编程的50个观点2003修订版
- 我C++学习经历