容器填充函數fill和memset對比總結

文章目錄

  • 1、fill() 按元素填充
  • 2、memset() 按字節填充
  • 3、對比

1、fill() 按元素填充

  • 用于將容器或數組的指定范圍內的元素賦值為指定值(按元素類型填充)。
  • 屬于 C++ STL 算法(<algorithm> 頭文件)。
// 從起始地址到結束地址的下一位置全部賦為目標值
fill(起始地址, 結束地址下一位,);fill(a, a + n, -1);  // 一維數組
fill(a[0], a + n * n, -1);  // 二維數組
fill(vec.begin(), vec.end(), -1);  // 動態數組

2、memset() 按字節填充

  • 用于將一塊內存的每個字節設置為指定的值(按字節填充)。
  • 屬于 C 標準庫函數(<cstring> 頭文件)。
// 從起始地址將要填充的字節數都填充為目標值
memset(起始地址, 值, 要填充的字節數);int a[10];
memset(a, 0, sizeof(a)); // 所有元素初始化為0char c[10];
memset(c, 'A', sizeof(c));  // 所有元素初始化為A

不能直接用于非字節類型,比如 int a[5]; memset(a, 1, sizeof(a)); 并不會將每個 int 設為 1,而是每個字節設為 0x01,導致每個 int 的實際值為 0x01010101(16843009)。

3、對比

特性memsetfill
填充單位字節元素
頭文件<cstring><algorithm>
效率極高(硬件優化)較高(通用循環賦值)
適用類型char、內存塊任意類型(如 intdouble
安全性低(易誤用導致數據錯誤)高(類型安全)
典型用途清零內存、初始化字符數組初始化 STL 容器、非字節類型數組

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904885.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904885.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904885.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Linux實踐系列】:進程間通信:萬字詳解共享內存實現通信

&#x1f525; 本文專欄&#xff1a;Linux Linux實踐項目 &#x1f338;作者主頁&#xff1a;努力努力再努力wz &#x1f4aa; 今日博客勵志語錄&#xff1a; 人生就像一場馬拉松&#xff0c;重要的不是起點&#xff0c;而是堅持到終點的勇氣 ★★★ 本文前置知識&#xff1a; …

CogView4 文本生成圖像

CogView4 文本生成圖像 flyfish 基于 CogView4Pipeline 的圖像生成程序&#xff0c;其主要目的是依據 JSON 文件里的文本提示信息來生成圖像&#xff0c;并且把生成的圖像保存到指定文件夾。 JSON 文件格式 [{"prompt": "your first prompt"},{"pr…

路由重發布

路由重發布 實驗目標&#xff1a; 掌握路由重發布的配置方法和技巧&#xff1b; 掌握通過路由重發布方式實現網絡的連通性&#xff1b; 熟悉route-pt路由器的使用方法&#xff1b; 實驗背景&#xff1a;假設學校的某個分區需要配置簡單的rip協議路由信息&#xff0c;而主校…

機器人領域和心理學領域 恐怖谷 是什么

機器人領域和心理學領域 恐怖谷 是什么 恐怖谷是一個在機器人領域和心理學領域備受關注的概念,由日本機器人專家森政弘于1970年提出。 含義 當機器人與人類的相似度達到一定程度時,人類對它們的情感反應會突然從積極變為消極,產生一種毛骨悚然、厭惡恐懼的感覺。這種情感…

Go-GJSON 組件,解鎖 JSON 讀取新姿勢

現在的通義靈碼不但全面支持 Qwen3&#xff0c;還支持配置自己的 MCP 工具&#xff0c;還沒體驗過的小伙伴&#xff0c;馬上配置起來啦~ https://click.aliyun.com/m/1000403618/ 在 Go 語言開發領域&#xff0c;json 數據處理是極為常見的任務。Go 標準庫提供了 encoding/jso…

數據分析_數據預處理

1 數據預處理流程 ①數據清洗:處理數據缺失、數據重復、數據異常等問題,提升數據質量. ②數據轉換:涵蓋基本數據轉換、語義數據轉換、衍生數據轉換和隱私數據轉換,適配分析需求. ③數據集成:整合多源數據. 2 數據清洗 2.1 數據缺失 2.1.1 數值型數據缺失 數值型列的部分數值不…

vue +xlsx+exceljs 導出excel文檔

實現功能&#xff1a;分標題行導出數據過多&#xff0c;一個sheet表里表格條數有限制&#xff0c;需要分sheet顯示。 步驟1:安裝插件包 npm install exceljs npm install xlsx 步驟2&#xff1a;引用包 import XLSX from xlsx; import ExcelJS from exceljs; 步驟3&am…

ThinkPad T440P如何從U盤安裝Ubuntu24.04系統

首先制作一個安裝 U 盤。我使用的工具是 Rufus &#xff0c;它的官網是 rufus.ie &#xff0c;去下載最新版就可以了。直接打開這個工具&#xff0c;選擇自己從ubuntu官網下載Get Ubuntu | Download | Ubuntu的iso鏡像制作U盤安裝包即可。 其次安裝之前&#xff0c;還要對 Thi…

第十七次博客打卡

今天學習的內容是動態規劃算法。 動態規劃算法&#xff08;Dynamic Programming&#xff0c;簡稱 DP&#xff09;是一種通過將復雜問題分解為更小的子問題來求解的算法思想。它主要用于解決具有重疊子問題和最優子結構特性的問題。 一、動態規劃的基本概念 1. 最優子結構 一個復…

視覺革命來襲!ComfyUI-LTXVideo 讓視頻創作更高效

探索LTX-Video 支持的ComfyUI 在數字化視頻創作領域&#xff0c;視頻制作效果的提升對創作者來說無疑是一項重要的突破。LTX-Video支持的ComfyUI便是這樣一款提供自定義節點的工具集&#xff0c;它專為改善視頻質量、提升生成速度而開發。接下來&#xff0c;我們將詳細介紹其功…

Java版ERP管理系統源碼(springboot+VUE+Uniapp)

ERP系統是企業資源計劃&#xff08;Enterprise Resource Planning&#xff09;系統的縮寫&#xff0c;它是一種集成的軟件解決方案&#xff0c;用于協調和管理企業內各種關鍵業務流程和功能&#xff0c;如財務、供應鏈、生產、人力資源等。它的目標是幫助企業實現資源的高效利用…

CenOS7切換使用界面

永久切換 在開始修改之前&#xff0c;我們首先需要查看當前的啟動模式。可以通過以下命令來實現&#xff1a; systemctl get-default執行此命令后&#xff0c;系統會返回當前的默認啟動模式&#xff0c;例如graphical.target表示當前默認啟動為圖形界面模式。 獲取root權限&…

Dify使用總結

最近完成了一個Dify的項目簡單進行總結下搭建服務按照官方文檔操作就行就不寫了。 進入首頁之后由以下組成&#xff1a; 探索、工作室、知識庫、工具 探索&#xff1a; 可以展示自己創建的所有應用&#xff0c;一個應用就是一個APP&#xff0c;可以進行測試使用 工作室包含…

計網學習筆記———網絡

&#x1f33f;網絡是泛化的概念 網絡是泛化的概念 &#x1f342;泛化理解 網絡的概念在生活中無處不在舉例&#xff1a;社交網絡、電話網路、電網、計算機網絡 &#x1f33f;網絡的定義 定義&#xff1a; 離散的個體通過通訊手段連成群體&#xff0c;實現資源的共享與交流、個…

《Python星球日記》 第53天:卷積神經網絡(CNN)入門

名人說&#xff1a;路漫漫其修遠兮&#xff0c;吾將上下而求索。—— 屈原《離騷》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 目錄 一、圖像表示與通道概念1. 數字圖像的本質2. RGB顏色模型3. 圖像預處理 二、卷積…

SpringBoot2集成xxl-job詳解

官方教程 搭建調度中心 Github Gitee 注&#xff1a;版本3.x開始要求Jdk17&#xff1b;版本2.x及以下支持Jdk1.8。如對Jdk版本有訴求&#xff0c;可選擇接入不同版本 clone源代碼執行xxl-job\doc\db\tables_xxl_job.sql # # XXL-JOB v2.4.1 # Copyright (c) 2015-present, x…

HashMap中put()方法的執行流程

HashMap 是 Java 中最常用的數據結構之一&#xff0c;用于存儲鍵值對。其 put() 方法是向哈希表中插入或更新鍵值對的核心操作。本文將詳細解析 put() 方法的執行過程&#xff0c;涵蓋哈希值計算、桶定位、沖突處理和擴容等步驟。 一、put() 方法的執行過程 put() 方法通過一系…

【Oracle認證】MySQL 8.0 OCP 認證考試英文版(MySQL30 周年版)

文章目錄 1、MySQL OCP考試介紹2、考試注冊流程3、考試復習題庫 Oracle 為慶祝 MySQL 30 周年&#xff0c;截止到2025.07.31 之前。所有人均可以免費考取原價245美元 &#xff08;約1500&#xff09;的MySQL OCP 認證。 1、MySQL OCP考試介紹 OCP考試 OCP認證是Oracle公司推…

SpringBoot框架開發網絡安全科普系統開發實現

概述 基于SpringBoot框架的網絡安全科普系統開發指南&#xff0c;該系統集知識科普、案例學習、在線測試等功能于一體&#xff0c;本文將詳細介紹系統架構設計、功能實現及技術要點&#xff0c;幫助開發者快速構建專業的網絡安全教育平臺。 主要內容 系統功能架構 本系統采…

瀏覽器HTTP錯誤、前端常見報錯 和 Java后端報錯

以下是 瀏覽器HTTP錯誤、前端常見報錯 和 Java后端報錯 的綜合整理&#xff0c;包括原因和解決方法&#xff0c;幫助你快速排查問題。 一、HTTP 錯誤&#xff08;瀏覽器報錯&#xff09; 錯誤碼原因解決方法400 Bad Request請求語法錯誤&#xff08;如參數格式錯誤、請求體過…