Blog·Tanky WooABOUTRSS

《C++标准程序库》学习笔记10 -- 第十二章

01 Feb 2011
这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。

这一章讲的是一些数值类型,可以联系前面的数值算法以及一些基本的数值型别。

对于复数(complex)的float, double, long double等特化版本,初始化时允许安全转换(eg. complex转为complex)可以隐式进行;而不安全的转换必须显示进行。

这里对初始化的隐式和显示进行说明一下,因为网上很多地方都讲错了!

对于直接初始化,是显示进行。

而对于复制初始化,是隐式进行。

 

Vararray

要加上头文件

对于valarray的初始化:

eg:

std::valarray val1(10);    // valarray of ten ints with value 0
std::valarray val2(5.7, 10);  // valarray of ten floats with value 5.7

注意注释的解释,如果只传入一个参数,它被认为是valarray的大小,但如果传入两个参数,则第一个参数就是元素的初值,第二个才是元素个数。

 

定义valarrays子集的方法有四种:

(1).Slices(切割)

(2).General slices(一般式切割)

(3).Masked subsets(屏蔽式切割)

(4).Indirect subsets(间接式切割)

这一块内容很多,说不清楚重不重要,感觉肯定基础还是要记住的。只不过缺少的还是试练,多用几次就熟练了。