您的位置:首页 > 编程语言 > C语言/C++

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位有效位。

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的指针组成的数组


函数指针











宏:文本替换 内联:按值传递



设置显示性质:



函数模板





内存模型







自动变量和栈:后进先出

静态持续变量:编译器将分配固定的内存块来存储所有的静态变量,这些变量在整个程序执行期间一直存在。



通常,编译器使用三块独立的内存,一块用于静态变量,一块用于自动变量栈,另外一块用于动态存储堆。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: