fill和memset的區別

2022-09-14 21:45:25 字數 353 閱讀 1407

最主要的區別是memset是按照位元組填充的。

按照單元賦值,將乙個區間的元素都賦予val值。函式引數:fill(vec.begin(), vec.end(), val); val為將要替換的值。

#include fill(vec.begin(), vec.end(), val); //原來容器中每個元素被重置為val
按照位元組填充某字元

#include const int inf = 0x3f3f3f3f;

memset(a,inf,sizeof(a));

memset比fill處理速度快一些,所以在能滿足需要時,推薦用memset。

c 中memset和fill的區別

參考 傳送門 memset函式 在 include中 按照位元組填充 適用0,1 fill函式 在 incude中 按照單元賦值,將乙個區間的元素都賦同乙個值 說明 因為memset函式按照位元組填充,所以一般memset只能用來填充char型陣列,因為只有char型佔乙個位元組 如果填充int型陣...

memset 函式與fill 函式的區別

1.memset 函式的格式為 memset 陣列名,值,陣列位元組總數 由於memset使用的是按位元組賦值,即對每個位元組賦相同的值,這樣對於乙個int型別的陣列,當memset的值賦為1時,實際上整個陣列的每乙個元素被賦的值是 2 0 2 8 2 16 2 24 因此建議memset的值一般取...

fill函式與memset函式的區別

fill函式的標頭檔案為 std memset函式的標頭檔案為 string.h c 中為 cstring 用法 fill vector.begin vector.end val 按照單元賦值,將乙個區間內的元素都賦予val值 例項 include using namespace std intma...