《Accelerate C++》读书笔记(一)

1、输入输出库会把它的输出保存在一个叫做缓冲区的内部数据结构中,缓冲区可以优化输出操作,把几个输出操作合并到一个写操作中。有三种事情会导致系统刷新缓冲区:1、缓冲区已满;2、请求库从标准输入流中读数据;3、用户明确要求刷新。

2、空白字符指在屏幕不会显示出来的字符,如空格、制表符、回车和换行符。

3、C++中运算符优先级:算术>关系>逻辑;其中逻辑运算符,如||、&&具有短路求值得特点,||当检测到左操作数为真时,不再计算右操作数。

4、前开后闭的区间(不对称区间)表示方法的优点:[n,m)很容易知晓内部存在m-n个元素,而[n,m]中存在m-n+1个元素。另外对于空区间的表示方法,不对称区间更有优势,[n,n)即可,而[n,n-1]显然有些不太合理。

5、函数参数使用引用传递,可以提高程序运行效率,因为若参数值传递,则会复制参数的值给内部的临时变量。

6、标准库不仅提供了有用的数据结构和函数算法,而且它还反映了具有一致性的一种体系结构。

7、迭代器的作用:代替普通的索引,能够提供更加智能的访问策略,它具有如下功能:识别一个容器以及容器中的一个元素、检查存储在容器中的值、提供操作来移动容器中的元素。

8、vector容器的优点在于便于随机的访问,插入和删除比较耗费时间;list容器的优点插入和删除比较高效,但是不支持随机访问,只能顺序访问。

9、泛型算法是一个不属于任何特定类型的容器的算法,相反,它会从它的参数类型获得如何访问它所使用数据的提示。标准库的泛型算法通常在它们的参数间采用迭代器来处理基本容器的元素。

10、static静态存储类别说明符,被声明为static的局部变量具有全局寿命,即其生存期贯穿了整个函数调用过程。仅在第一次调用该变量时进行初始化,后续调用均使用第一次调用所构造的变量。

11、一个容器支持索引,则其对应的迭代器也支持索引。同时迭代器索引支持逆向移动。若beg为迭代器,初始值为指向容器中的某个中间元素的索引,则beg[-1]表示逆向的第一个元素,即当前元素的前一个元素。另一种表示方法:*(beg-1)

12、C/C++编译器中应用头文件,其中若采用<>引用,编译器会在系统自带头文件的默认目录下查找,若采用双引号" "引用头文件,则编译器会首先在当前目录下查找,找不到再到系统默认目录下查找。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值