再学C++ Primer(2)-变量与基本类型
5078 点击·0 回帖
![]() | ![]() | |
![]() | 这一章主要介绍了c++中的基本数据类型,还有一些编程的技巧。 记录有如下几点: 1.通过增加后缀,能够强制将字面值整数常量转换为long或unsigned,unsigned long类型,如 1L /*long*/ 小数点后加L表示扩展精度。 2.声明和定义的区别: 定义用于为变量分配存储空间,还可以为变量指定初始值,声明用于向程序表明变量的类型和名字。 变量必须且仅能定义一次,而且在使用变量之前必须定义或声明变量。 3.循环的条件语句中最好不要直接使用数字,如 for(int index=0;index!=512;++index) {...} 最好写成: int bufSize=512; for(int index=0;index!=bufSize;++index) {...} 主要是可读性和健壮性会好很多; 4.const的使用 1)定义const对象 由const定义的对象为常量,定义时必须初始化,之后不能被修改。 在全局范围内,非const变量默认为extren,要使const变量能够在其他的文件中访问,必须显示地指定它为extren。 5. 即为变量的别名,如 #include <iostream> using namespace std; int main() { int a=1; int ;refer=a; refer+=2; cout<<a<<endl; return 0; } 这里输出的是3. 关于const, const是“指向const对象的”,可以绑定到不同但相关的类型的对象或绑定到右值, 非const指向非const类型的,只能绑定到与该同类型的对象。 6.typedef的作用 1)为了隐藏特定类型的实现,强调使用类新的目的; 2)简化复杂的类型定义,使其更易理解; 3)允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。 个人感觉是增强程序的可读性。 7.枚举类型的对象初始化或赋值,只能通过其枚举成员或同一枚举类型的其他对象来进行; 枚举成员本身就是一个常量表达式,所以也可用于需要常量表达式的任何地方。 8.在头文件中不应该含有变量或函数的定义,担忧例外:可以定义类、值在编译时就知道的const对象和inline函数; 9设计头文件时,应使其可以多次包含在同一源文件中,必须保证多次包含同一文件不会引起冲突。通常做法是使用预处理器定义头文件保护符。 例: #ifndef SALESITEM_H #define SALESITEM_H //定义类 #endif 说明: #ifndef检测指定的预处理器变量是否未定义。 #define接受一个名字并定义该名字为预处理变量。接着执行后面的定义,#endif表示结束。 | |
![]() | ![]() |