轉自c++ 如何批量初始化數組 fill和fill_n函數的應用
std::fill(a+2,a+10,0x3f3f3f3f);///從下標2到下標10 前閉后開 共8個 std::fill_n(a+2,10,0x3f3f3f3f);///從下標2 開始 填充10個 memset(a,0x7f7f7f7f,sizeof(a));
一、 fill和fill_n函數的應用:
fill函數的作用是:將一個區間的元素都賦予val值。
函數參數:fill(first,last,val);//first為容器的首迭代器,last為容器的尾迭代器,
替換元素的區間為[first,last),val為將要替換的值。
eg:
vector <int> V;
fill(V.begin(),V.end(),val);
二、fill_n函數的作用是:
給你一個起始點,然后再給你一個數值count和val。把從起始點開始依次賦予 count個元素val的值。
注意: 不能在沒有元素的空容器上調用fill_n函數。
三、關於memset()函數:
這個 函數是按字節覆蓋,批量初始化內存空間
max_int= 2147483647,也就是:(1<<31)-1
而0x7f7f7f=2139062143