C++ Primer 第一章结束

在本章最后,给出了一份术语表,记录一下,但是有很多比较简单的就不做介绍了。

术语表

1.参数(实参,argument)向函数传递的值。

2.赋值(assignment)抹去一个对象的当前值,用一个新值替代。

3.程序块(block)

4.缓冲区(buffer)

(34条消息) C++缓冲区的理解_看星星凋零的博客-CSDN博客_c++缓冲区

#include <fstream>  
using namespace std;
int main()
{
	//创建文件test.txt并打开  
	ofstream outfile("test.txt");
	//向test.txt文件中写入4096个字符’a’  
	for (int n = 0; n < 4096; n++)
	{
		outfile << 'a';
	}
	//暂停,按任意键继续  
	system("PAUSE");
	//继续向test.txt文件中写入字符’b’,也就是说,第4097个字符是’b’  
	outfile << 'b';
	//暂停,按任意键继续  
	system("PAUSE");
	return 0;
}

在第一次暂停时,我们打开test文件

是空的 

当我们继续时

 最终的

这说明缓冲区大小为4K个字节,当超出这个范围,将会强制刷新缓冲区,将缓冲区的数据写入输出设备。输出b的过程也说明,

缓冲区满时;  
执行flush语句;  
执行endl语句;  
关闭文件。   

以上情况会刷新缓冲区。 

缓冲区存在的意义:它使得低速的输入输出设备和高速的CPU能够协调工作,避免低速的输入输出设备占用CPU,解放出CPU,使其能够高效率工作。

书中对于缓冲区的介绍

5.内置类型(built-in type)有语言定义的类型,如int,float

6.Cerr :ostream的对象,关联到标准错误,通常写入到与标准输出相同的设备。默认情况下,写到cerr的数据是不缓冲的。通常用于输出错误信息或其他不属于程序正常逻辑的输出内容。

7.字符串字面值常量(character string literal)现在我还不知道他是啥意思。。以后回来填坑。

8.cin

9.类(class)一种用于定义自己的数据结构及其相关操作的机制。

10.类 类型(class type)类定义的类型,类名即为类型名。

11.clog 关联到标准错误。默认情况下,写到clog的数据是被缓冲的。clog通常用于报告程序的执行信息,存入一个日志文件中。

12.注释(comment)

13.条件(condition)循环,if的判断条件

14.cout

15.花括号(curly brace)

16.数据结构(data structure) 数据及其所允许的操作的逻辑组合

17.编辑-编译-调试(edit-compile-debug)

18.文件结束符(end-of-file)

19.表达式(expression)

20.头文件(header)使类或其他名字的定义可被多个程序使用的一种机制。程序通过#include指令使用头文件。

21.初始化(initialize)在一个对象创建的时候赋予他一个值 对象创建,对象赋值

22.库类型(library type)标准库定义的类型,如iostream。

23.操纵符(manipulator):对象,如std::endl,在读写流的时候用来操纵流本身

24.main 操作系统执行一个C++程序是所调用的函数。每个程序必须有且只有一个名为main的函数。并且int main(){}说明main函数的返回值类型为整型int,这可能就是return 0 的原因?

25.成员函数=方法 :类定义的操作,通常通过调用成员函数来操作特定对象

26.命名空间(namespace)将库定义的名字放在一个单一位置的机制,命名空间可以帮助避免不经意的名字冲突。C++标准库定义的名字在命名空间std中,标准库=std命名空间

27.形参列表(parameter list)函数定义的一部分,指出调用函数时可以使用什么样的实参,形参也可能是空。

28.返回类型(return type)函数返回值的类型

29.源文件(source file)包含C++程序的文件。

30.标准错误(standard error)输出流,用于报告错误。标准输出,输入和标准错误通常关联到程序执行的窗口

31.标准库(standard library)一个类型和函数的集合,每个C++编译器都必须支持。标准库提供了支持IO操作的类型。c++程序员倾向于使用“库”指代整个标准库,还倾向于用库类型表示标准库的特定部分,例如用iostream库表示标准库定义IO类的部分

32.未初始化的变量(uninitialized variable)未赋予初值的变量。类 类型的变量如果未经初始化指定初始值,则按 类定义 指定的方式进行初始化。定义在函数内部的内置类型变量(局部变量)默认是不初始化的,除非有显式的初始化语句。未初始化变量是bug的常见成因。

(34条消息) 为什么“定义在函数体内部的内置类型变量将不被初始化”,而“定义于任何函数体之外的变量被初始化为0“?_二进制模----细微行动改变影响世界-CSDN博客_定义在函数体内部的内置类型变量不初始化

类 类型变量用init初始化

33.()调用运算符。起到调用函数的效果。

34.++ 递增运算符,将运算对象的值加1,++i 就等价于 i = i + 1。类似的--。递减运算

35.+= 复合赋值运算符,将右侧运算运算对象加到左侧运算对象上。a+=b 等价于 a= a+b

36. .运算符。左侧运算对象必须是一个类 类型对象,右侧必须是此对象的一个成员名字。

37. :: 作用域运算符 访问命名空间中的名字(这名字可能是库中类的对象?)如std::cout

省略了一部分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值