C++ Primer 学习笔记(三) ---- 第二章 变量和基本类型(2)

一、知识点
      1、基本内置类型(算术类型和void类型)
      2、字面值常量和变量

      3、const限定符
      4、引用
      5、typedef名字
      6、枚举
      7、类类型
      8、头文件

二、要点

      1、const限定符
           魔数:在上下文中没有体现出来,好像这个数是魔术般的从空中出现的。如下面的“512”这个数           

for (int i = 0; i != 512++i) {
   
//..
}

           使用const限定符需注意:
           (1)、定义的const的变量仍难是一个左值,但是这个左值是不可修改的;且在定义时必须初始化;
           (2)、const变量默认都是文件局部的,如果想被其他文件访问,必须在前面加入extern。如:
file_1.cpp:
extern const int bufszie = 512;   // 定义,需要赋初值

fiel_2.cpp:
extern const int bufsize;
.
for (int i = 0; i != bufsize; ++i) {
  
//.
}

       2、引用

           引用(reference)就是对象的另一个名称;非congst引用只能绑定到与该引用相同类型的对方上,const引用可以绑定到不同但相关的类型对象或绑定到右值。

           重点:const引用,指向const对象的引用。

1、赋值
const int ival = 1024;
const int &refVal = ival;   // 这个是正确的赋值
int &ref2 = ival;              // 这个是错误的赋值(ref2是可以重新赋值,这样导致ival的值会被改变,但ival是const的,所以这样赋值是不允许的)

2、初始化
double dval = 42.12;
const int &r1 = 42;         // 用右值(字面值常量)初始化
const int &r2 = dval;       // 用不同那个类型的对象初始化,这里的r2 = 42。如果r2不是const的话,这样初始化是错误的。

       3、typedef

            typedef可以用来定义类型的同义词。格式为:typedef + 数据类型 + 标识符。


        4、枚举(enum)

            格式:enum enumName(l可选) {enumerator1, enumerator2,...}

           (1)、枚举成员都是常量表达式(在编译器编译是就能计算出结果的整型表达式,或整型字面值常量);

           (2)、默认的第一个枚举成员是0,后面的每个枚举成员都比前一个大1;

           (3)、枚举成员值不是唯一的:enum Points { p1 = 1, p2, p3 = 2, p4},这其中p1=1,p2=2,p3=2,p4=3;

           (4)、枚举类型的对象初始化或赋值时,只能通过该类型枚举的某个成员进行。


       5、类类型

           注意class和struct的区别:唯一区别,默认情况下,struct的成员为public,class的成员为private。


       6、头文件

           在const变量是用常量表达式初始化时,可以将它定义在头文件中;如果不是,则不应该在头文件中定义。

posted on 2011-06-20 21:53 tiger7 阅读(145) 评论(0)  编辑 收藏 引用 所属分类: C++ Primer


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

公告

welcome to tiger's blog.

常用链接

留言簿

文章分类

文章档案

搜索

最新评论