C++string_view簡介

1. 簡介

C++17之后才有string_view,主要為了解決C語言常量字符串在std::string中的拷貝問題。
readonlystring

2. 引入

2.1 隱式拷貝問題

將C常量字符串拷貝了一次

#include <iostream>
#include <string>int main()
{std::string s{ "Hello, world!" }; std::cout << s << '\n';return 0;
}

下面的程序拷貝了兩次, 當然可以直接使用const std::string &str

#include <iostream>
#include <string>void printString(std::string str) // str makes a copy of its initializer
{std::cout << str << '\n';
}int main()
{std::string s{ "Hello, world!" }; // s makes a copy of its initializerprintString(s);return 0;
}
2.2 解決

對于只讀的常量字符串直接聲明為string_view類型

#include <iostream>
#include <string_view>// str provides read-only access to whatever argument is passed in
void printSV(std::string_view str) // now a std::string_view
{std::cout << str << '\n';
}int main()
{std::string_view s{ "Hello, world!" }; // now a std::string_viewprintSV(s);return 0;
}

3. Ref

learn_cpp

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

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

相關文章

Modbus RTU、Modbus 庫函數

Modbus RTU 與 Modbus TCP 的區別 一般在工業場景中&#xff0c;使用 Modbus RTU 的場景更多一些&#xff0c;Modbus RTU 基于串行協議進行收發數據&#xff0c;包括 RS232/485 等工業總線協議。采用主從問答式&#xff08;master / slave&#xff09;通信。 與 Modbus TCP 不…

基于springboot實現實習管理系統的設計與實現項目【項目源碼+論文說明】計算機畢業設計

基于sprinmgboot實現實習管理系統的設計與實現演示 摘要 隨著信息化時代的到來&#xff0c;管理系統都趨向于智能化、系統化&#xff0c;實習管理也不例外&#xff0c;但目前國內仍都使用人工管理&#xff0c;市場規模越來越大&#xff0c;同時信息量也越來越龐大&#xff0c;…

普通平衡樹

題意&#xff1a;略&#xff0c;題中較清晰。 用二叉查找樹來存儲數據&#xff0c;為了增加效率&#xff0c;盡量使左子樹和右子樹的深度差不超過一&#xff0c;這樣可以時間控制在logn&#xff0c;效率比較高。 右旋和左旋&#xff0c;目的是為了維護二叉樹的操作&#xff0…

Dubbo引入Zookeeper等注冊中心簡介以及DubboAdmin簡要介紹,為后續詳解Dubbo各種注冊中心做鋪墊!

文章目錄 一&#xff1a;Dubbo注冊中心引言 1&#xff1a;什么是Dubbo的注冊中心&#xff1f; 2&#xff1a;注冊中心關系圖解 3&#xff1a;引入注冊中心服務執行流程 4&#xff1a;Dubbo注冊中心好處 5&#xff1a;注冊中心核心作用 二&#xff1a;注冊中心實現方案 …

Springboot+vue的新冠病毒密接者跟蹤系統(有報告)。Javaee項目,springboot vue前后端分離項目

演示視頻&#xff1a; Springbootvue的新冠病毒密接者跟蹤系統(有報告)。Javaee項目&#xff0c;springboot vue前后端分離項目 項目介紹&#xff1a; 本文設計了一個基于Springbootvue的新冠病毒密接者跟蹤系統&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;v…

HttpClient實現 get、post、put、delete請求【轉】

來自&#xff1a;HttpClient實現 get、post、put、delete請求_httpclient put請求-CSDN博客 目錄 HttpClient HttpClient的主要功能 httpclient使用示例主要步驟 Spring Boot 工程結構 HttpClient實現主要代碼&#xff1a; GET POST PUT Delete HttpClient HttpCli…

信息系統項目管理師-干系人管理論文提綱

快速導航 1.信息系統項目管理師-項目整合管理 2.信息系統項目管理師-項目范圍管理 3.信息系統項目管理師-項目進度管理 4.信息系統項目管理師-項目成本管理 5.信息系統項目管理師-項目質量管理 6.信息系統項目管理師-項目資源管理 7.信息系統項目管理師-項目溝通管理 8.信息系…

景區智慧旅游智能化系統方案:PPT全文58頁,附下載

關鍵詞&#xff1a;智慧景區解決方案&#xff0c;智慧文旅解決方案&#xff0c;智慧旅游解決方案&#xff0c;智慧文旅綜合運營平臺 一、景區智慧旅游智能化系統建設背景 近年來&#xff0c;隨著信息技術的快速發展和普及&#xff0c;以及旅游市場的不斷擴大和升級&#xff0…

電腦自動刪除文件怎么辦?如何恢復?

在數字化時代&#xff0c;電腦已經成為人們不可或缺的工具之一。然而&#xff0c;由于各種原因&#xff0c;我們有時會遇到電腦自動刪除文件的情況&#xff0c;這給我們的工作和生活帶來了很多不便。那么&#xff0c;當電腦自動刪除文件時&#xff0c;我們應該如何處理呢&#…

【Python爬蟲】8大模塊md文檔從0到scrapy高手,第8篇:反爬與反反爬和驗證碼處理

本文主要學習一下關于爬蟲的相關前置知識和一些理論性的知識&#xff0c;通過本文我們能夠知道什么是爬蟲&#xff0c;都有那些分類&#xff0c;爬蟲能干什么等&#xff0c;同時還會站在爬蟲的角度復習一下http協議。 Python爬蟲和Scrapy全套筆記直接地址&#xff1a; 請移步這…

數據結構與算法編程題14

設計一個算法&#xff0c;通過一趟遍歷在單鏈表中確定值最大的結點。 #include <iostream> using namespace std;typedef int Elemtype; #define ERROR 0; #define OK 1;typedef struct LNode {Elemtype data; //結點保存的數據struct LNode* next; //結構體指針…

RedHat NTP時間服務器配置Chrony(所有節點時間跟主節點時間同步)

NTP NTP&#xff08;Network Time Protocol&#xff09;是一種用于在計算機網絡中同步時鐘的協議。它的主要目的是確保網絡中的各個設備具有準確的時間參考&#xff0c;以便協調事件順序、安全通信和日志記錄等應用。它通過分層體系結構、時間同步算法和準確的時間參考源來確保…

Linux設置靜態IP

Linux設置靜態IP 使用ip addr查看ip&#xff0c;如下所示就是動態IP 1、什么是靜態IP&#xff1f; 靜態ip就是固定的ip&#xff0c;需要手動設置。靜態IP地址&#xff08;又稱固定IP地址&#xff09;是長期分配給一臺計算機或網絡設備使用的 IP 地址。一般來說&#xff0c;一…

【數據結構】C : 追星

C : 追星 文章目錄 C : 追星DescriptionInputOutputSampleInputOutput 解題思路AC代碼&#xff1a; Description 城市總共有N座。yintama是右京女神的狂熱粉&#xff0c;當他得知右京女神將要在城市N舉辦演唱會的時候&#xff0c;馬上開始準備動身前往城市N。原本他可以直接乘…

738. Monotone Increasing Digits 968. Binary Tree Cameras

738. Monotone Increasing Digits An integer has monotone increasing digits單調遞增數字 if and only if each pair of adjacent digits x and y satisfy x < y. Given an integer n, return the largest number that is less than or equal to n with monotone increa…

TypeScript 學習筆記 第三部分 貪吃蛇游戲

尚硅谷TypeScript教程&#xff08;李立超老師TS新課&#xff09; 1. 創建開發環境 創建工程&#xff0c;使用學習筆記的第二部分安裝css部分 npm i -D less less-loader css-loader style-loader對css部分處理&#xff0c;能夠運行在低版本瀏覽器 npm i -D postcss postcss…

oracle rac 19c修改不同網段public ip

客戶需求將才搭建的oracle 19.19數據庫從192.168.168.0網段調整到192.168.213網段 1.停止兩個節點集群 停止之前最好ocrdump一下&#xff0c;防止有問題 crsctl stop crs 2.修改public ip地址和/etc/hosts 3. 啟動crs 這時集群可以啟動&#xff0c;但是上面的一些資源啟動會…

音色逼真、韻律自然的AI人聲克隆限時福利!

聲音&#xff0c;為數字人注入靈魂。 2023云棲大會上&#xff0c;阿里云視頻云接受了CCTV-2財經頻道的采訪&#xff0c;分享并演示了如何利用云端智能剪輯&#xff0c;一站式完成數字人渲染及視頻精編二創。 正如視頻開頭所呈現的AI重現演員“原聲”&#xff0c;近年來&#x…

基于SpringBoot的圖書管理系統

基于SpringBoot的圖書管理系統 圖書管理系統開發技術功能模塊代碼結構數據庫設計運行截圖源碼獲取 圖書管理系統 開發技術 技術&#xff1a;SpringBoot、MyBatis-Plus、MySQL、Beetl、Layui。 框架&#xff1a;基于開源框架Snowy-Layui開發。 工具&#xff1a;IDEA、Navicat等…

【Linux】進程間通信——進程間通信的介紹和分類、管道、匿名管道、命名管道、匿名管道與命名管道的區別

文章目錄 進程間通信1.進程間通信的介紹1.1目的和發展 2.進程間通信分類3.管道3.1匿名管道3.1.1匿名管道的原理&#xff08;文件角度&#xff09;3.1.2匿名管道的原理&#xff08;內核角度&#xff09;3.1.3管道讀寫規則3.1.4管道特點 3.2命名管道3.2.1創建命名管道3.2.2命名管…