C++ primer plus 阅读记录-基础知识
2017-04-23 16:57
501 查看
类型限制及溢出
头文件climits中包含了关于整型限制的信息。例如,INT_MAX 为 int 的 最大取值,CHAR_BIT 为字节的位数。
cout输出显示
cout 提供了控制符 dec 、 hex 和 oct,分别用于指示 cout 以十进制、十六进制和八进制格式显示整数。
格式化浮点输出
参数 ios_base::fixed 和 ios_base::floatfiled 是通过包含iostream来提供的常量,它防止程序把较大的值切换为E表示法,并使程序显示到小数点后6位。对于float,C++只保证6位有效位。
字符串
C-风格字符串具有一种特殊的性质:以空字符结尾,\0.
字符串实际上表示的是字符串所在的内存地址。
sizeof运算符指出整个数组的长度,strlen()函数(标准头文件cstring)返回的是存储在数组中的字符串长度,只计算可见的字符,不把空字符计算在内。
cin.getline(name, ArSize); // name 是数组名
istream类中名为get()的成员函数有几种变体。
cin.get(name,ArSize);//读取到行尾,但不再读取并丢弃换行符,而是将其留在输入队列中。
cin.get();//使用不带任何参数的get()调用可读取下一个字符,即使是换行符。
string对象读取整行: getline(cin, str);
类型别名
一种是使用预处理器
第二种使用关键字typedef来创建别名
字符函数库cctype
cin读取出错处理
文件输入
函数指针
宏:文本替换 内联:按值传递
设置显示性质:
函数模板
内存模型
自动变量和栈:后进先出
静态持续变量:编译器将分配固定的内存块来存储所有的静态变量,这些变量在整个程序执行期间一直存在。
通常,编译器使用三块独立的内存,一块用于静态变量,一块用于自动变量栈,另外一块用于动态存储堆。
头文件climits中包含了关于整型限制的信息。例如,INT_MAX 为 int 的 最大取值,CHAR_BIT 为字节的位数。
cout输出显示
cout 提供了控制符 dec 、 hex 和 oct,分别用于指示 cout 以十进制、十六进制和八进制格式显示整数。
格式化浮点输出
参数 ios_base::fixed 和 ios_base::floatfiled 是通过包含iostream来提供的常量,它防止程序把较大的值切换为E表示法,并使程序显示到小数点后6位。对于float,C++只保证6位有效位。
cout.setf(ios_base::fixed, ios_base::floatfield);
字符串
C-风格字符串具有一种特殊的性质:以空字符结尾,\0.
字符串实际上表示的是字符串所在的内存地址。
sizeof运算符指出整个数组的长度,strlen()函数(标准头文件cstring)返回的是存储在数组中的字符串长度,只计算可见的字符,不把空字符计算在内。
cin.getline(name, ArSize); // name 是数组名
istream类中名为get()的成员函数有几种变体。
cin.get(name,ArSize);//读取到行尾,但不再读取并丢弃换行符,而是将其留在输入队列中。
cin.get();//使用不带任何参数的get()调用可读取下一个字符,即使是换行符。
string对象读取整行: getline(cin, str);
类型别名
一种是使用预处理器
#define BYTE char
第二种使用关键字typedef来创建别名
typedef char byte
字符函数库cctype
cin读取出错处理
文件输入
#include <iostream> #include <fstream> #include <cstdlib> //support for exit() const int SIZE = 60; int main() { using namespace std; char filename[SIZE]; ifstream inFile; cin.getline(filename, SIZE); inFile.open(filename); if(!inFile.is_open()) { cout << "Could not open the file."; exit(EXIT_FAILURE); } double value; double sum = 0.0; int count = 0; inFile >> value; while(inFile.good()) { ++count; sum += value; inFile >> value; } if(inFile.eof()) //inFile.fail() …… inFile.close(); return 0; }
- 函数
int (*ar2)[4] //一个指向由4个 int 组成的数组的指针,ar2+1则指向下一个4个int组成的数组 int *ar2[4] //声明一个由4个指向int的指针组成的数组
函数指针
宏:文本替换 内联:按值传递
设置显示性质:
函数模板
内存模型
自动变量和栈:后进先出
静态持续变量:编译器将分配固定的内存块来存储所有的静态变量,这些变量在整个程序执行期间一直存在。
通常,编译器使用三块独立的内存,一块用于静态变量,一块用于自动变量栈,另外一块用于动态存储堆。
相关文章推荐
- [C++ Primer Plus] 类基础知识--类继承
- C++ primer plus 阅读记录-输入输出
- 4000 [C++ Primer Plus] 类基础知识
- C++ primer plus 阅读记录-类和动态内存分配
- C++ primer plus 阅读记录-类继承
- C++ primer plus 阅读记录-对象和类
- 基础补完系列 - C++ Primer Plus 第二章
- 【读书笔记:C++ primer plus 第六版 中文版】第1章 预备知识
- [C++ Primer Plus]预备知识
- C++ primer plus学习:第一章 预备知识
- C++ primer plus学习记录
- c++ primer plus阅读笔记8---decltype
- c++ primer plus阅读笔记6---内联函数引用变量
- 《JAVA核心技术——基础知识》阅读记录1
- c++ primer plus阅读笔记4---struct
- c++ primer plus阅读笔记10---定位new using namespace
- C++ Primer Plus 第六版 第四章编程练习记录
- C++ primer plus 1 : 预备知识
- 基础补完系列 - C++ Primer Plus 第三章
- C++Primer Plus 基础复习