【note】fill函数和memset函数的区别和使用
生活随笔
收集整理的這篇文章主要介紹了
【note】fill函数和memset函数的区别和使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
memset函數
按照字節填充某字符
在頭文件<cstring>里面
fill函數
按照單元賦值,將一個區間的元素都賦同一個值
在頭文件<algorithm>里面
注意:
fill()中 ,它的原理是把那一塊單元賦成指定的值,也就是說任何值都可以
memset(),則是將s所指向的某一塊內存中的每個字節的內容全部設置為ch指定的ASCII值,即0 、1
因為memset函數按照字節填充,所以一般memset只能用來填充char型數組,(因為只有char型占一個字節)如果填充int型數組,除了0和-1,其他的不能。因為只有00000000 = 0,-1同理,如果我們把每一位都填充“1”,會導致變成填充入“11111111”
而fill函數可以賦值任何,而且使用方法特別簡便:
- 例如int數組:fill(arr, arr + n, 要填入的內容);
- fill()函數參數:fill(first,last,val);
// first為容器的首迭代器,last為容器的末迭代器,val為將要替換的值。
vector:fill(v.begin(), v.end(), 要填入的內容);
```handlebars #include <iostream> #include <algorithm> #include <vector> using namespace std; int main() {vector<int> v{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};fill(v.begin(), v.end(), -1);return 0; }- 而memset的使用方法是:
memset除了0和1外還可以填INF。如:int a[1002]; memset(a,0x3f3f3f,sizeof(a)); 另外memset比fill處理速度快一些,所以在能滿足需要時,推薦用memset
總結
以上是生活随笔為你收集整理的【note】fill函数和memset函数的区别和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++基础入门(根据浙大翁恺老师视频整理
- 下一篇: 搜索专题:bfs和dfs