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

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

  • 1.(P534)

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

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

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

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

 

  • 2.(P548)

Vararray

要加上头文件<valarray>

对于valarray的初始化:

eg:

1
2
std::valarray<int> val1(10);    // valarray of ten ints with value 0
std::valarray<float> val2(5.7, 10);  // valarray of ten floats with value 5.7

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

 

  • 3.(P554)

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

(1).Slices(切割)

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

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

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

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

发布者

Tanky Woo

Tanky Woo,[个人主页:https://tankywoo.com] / [新博客:https://blog.tankywoo.com]

《《C++标准程序库》学习笔记10 — 第十二章》有315个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注