C++中fill与memset用法
1. fill()
- 在头文件
<algorithm>
中
- 什么是==
fill()
==?
当我们想对一个容器的值进行填充时,我们就可以使用fill()函数。
Fill range with value
Assigns val to all the elements in the range [first,last).
源代码
template <class ForwardIterator, class T>
void fill (ForwardIterator first, ForwardIterator last, const T& val)
{
while (first != last) {
*first = val;
++first;
}
}
- ==
fill
=怎么用? define a[10001]; fill(a,a+k,n)
此fill使a数组从初设地址,初始化到起始向后k位置
fill(a+4,a+9,n)
初始化a从第四个到第九个位置
-fill()
填充vector
因为能力不及,以后再写。
2.memset
函数
- 按字节填充某字符
- 在头文件
<cstring>
中
····因为memset
函数按字节填充,所以它一般用于char
型数组
····如果填充int
型数组,只能得到0
和-1
,因为只有00000000
=0
负一同理
将开辟的内存空间arr
的前cnt
字节定义为val
用法
memset(arr, val, cnt);
这是我第一次写博客,希望自己能坚持。