新标准c++程序设计教程chapter1_2015.7.19
2015-07-19 23:53
190 查看
新标准c++程序设计教程chapter1:
1、 编程基础知识
(1) 函数pow的两个参数,第一个为浮点型,如果为整形则会出现error C2668;
(2) 按位取反操作是每一位都按位取反,例如0011 1110 –>1100 0001;
(3) Unsigned 把-1的符号位看作1;
(4) 循环变量最好使用++i,而不是i++;
(5) const T *p 定义的常量指针不可以更改其指向的变量值,但常量指针变量的值可以改变;
T *const p 定义的常量指针可以更改其指向的变量的值,但常量指针变量的值在赋值(定义时赋值或之后赋值均可)不可更改;
(6) 在定义指针或者变量时尽量在定义时赋初值;
(7) 在进行字符串的处理时尽量使用string类,c语言中的char和一些处理函数,例如strcpy存在着内存泄漏的风险,用c++语言更为安全;
(8) string类的初始化可以用stringstr=“good”;或者string str(a);string str=a;等;
(9) 内联函数必须在主程序文件或者直接包含的头文件定义;
(10) 枚举enum{red,yellow=5,black}则black=6;
(11) Strcpy和strcpy_s后者更为安全,附加一个参数可以确保内存不会泄漏,都会在末尾自动加上0,并且不会改变字符串实际大小;
(12) Memset和mencpy则不会再末尾置0;
(13) 返回引用的函数可以作为左值;
2、 编程技巧
(1) 变量命名:同类变量一起命名,注意赋初值,变量名应能反应其本身的某种特性;
(2) 接口应包括以下几个部分:描述(功能,参数,要求,实现流程),时间(编写时间,运行时间),特性(兼容性,扩展性,未来发展),版本迭代(版本修改说明);
3、 编程心得
(1) 先有文档后有程序;
(2) 写程序先实现功能再考虑效率,形式等;
(3) 写程序的过程:先确定算法和结构->文档->编码->调试;
(4) 冒泡法有向上冒泡和向下冒泡两种,其思想是依次确定最大的数,要注意搞清楚每层循环变量的意义;
(5) 编码风格养成:一个程序包括程序说明,程序体,错误代码和测试部分;
1、 编程基础知识
(1) 函数pow的两个参数,第一个为浮点型,如果为整形则会出现error C2668;
(2) 按位取反操作是每一位都按位取反,例如0011 1110 –>1100 0001;
(3) Unsigned 把-1的符号位看作1;
(4) 循环变量最好使用++i,而不是i++;
(5) const T *p 定义的常量指针不可以更改其指向的变量值,但常量指针变量的值可以改变;
T *const p 定义的常量指针可以更改其指向的变量的值,但常量指针变量的值在赋值(定义时赋值或之后赋值均可)不可更改;
(6) 在定义指针或者变量时尽量在定义时赋初值;
(7) 在进行字符串的处理时尽量使用string类,c语言中的char和一些处理函数,例如strcpy存在着内存泄漏的风险,用c++语言更为安全;
(8) string类的初始化可以用stringstr=“good”;或者string str(a);string str=a;等;
(9) 内联函数必须在主程序文件或者直接包含的头文件定义;
(10) 枚举enum{red,yellow=5,black}则black=6;
(11) Strcpy和strcpy_s后者更为安全,附加一个参数可以确保内存不会泄漏,都会在末尾自动加上0,并且不会改变字符串实际大小;
(12) Memset和mencpy则不会再末尾置0;
(13) 返回引用的函数可以作为左值;
2、 编程技巧
(1) 变量命名:同类变量一起命名,注意赋初值,变量名应能反应其本身的某种特性;
(2) 接口应包括以下几个部分:描述(功能,参数,要求,实现流程),时间(编写时间,运行时间),特性(兼容性,扩展性,未来发展),版本迭代(版本修改说明);
3、 编程心得
(1) 先有文档后有程序;
(2) 写程序先实现功能再考虑效率,形式等;
(3) 写程序的过程:先确定算法和结构->文档->编码->调试;
(4) 冒泡法有向上冒泡和向下冒泡两种,其思想是依次确定最大的数,要注意搞清楚每层循环变量的意义;
(5) 编码风格养成:一个程序包括程序说明,程序体,错误代码和测试部分;
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- C++ Custom Control控件向父窗体发送对应的消息
- C++中拷贝构造函数的应用详解