首页 > 其他分享 >[cpp]: operator""s -- <string>

[cpp]: operator""s -- <string>

时间:2024-01-16 15:33:35浏览次数:22  
标签:std string -- operator basic cpp

[cpp]:  operator""s  --  <string>

 

 

 

 

1  operator""s :  将一个字符数组字面量转化为【basic_string】类型数据。

  1.1  #include <string>

  1.2  operator""s   :  converts a character array literal to basic_string

 

 

 

2  e.g.

 1 #include <iostream>
 2 #include <string>
 3  
 4 void print_with_zeros(auto const note, std::string const& s)
 5 {
 6     std::cout << note;
 7     for (const char c : s)
 8         c ? std::cout << c : std::cout << "₀";
 9     std::cout << " (size = " << s.size() << ")\n";
10 }
11  
12 int main()
13 {
14     using namespace std::string_literals;
15  
16     std::string s1 = "abc\0\0def";
17     std::string s2 = "abc\0\0def"s;
18     print_with_zeros("s1: ", s1);
19     print_with_zeros("s2: ", s2);
20  
21     std::cout << "abcdef"s.substr(1,4) << '\n';
22 }

 

 

3. running

1 g++ -std=c++23 -O2 -Wall -pedantic -pthread main.cpp && ./a.out
2 
3 
4 s1: abc (size = 3)
5 s2: abc₀₀def (size = 8)
6 bcde

 

 

4.  Reference

 

  1.  std::literals::string_literals::operator""s  --  https://en.cppreference.com/w/cpp/string/basic_string/operator""s

 

  2.   cpp online tools   --  https://coliru.stacked-crooked.com/

 

标签:std,string,--,operator,basic,cpp
From: https://www.cnblogs.com/lnlidawei/p/17967791

相关文章

  • tkinter 将traceback展示出来
    在Tkinter中,您可以使用`messagebox`模块来显示错误消息和traceback。以下是一个示例¹:```pythonimporttkinter.messageboxastmimporttracebacktry:  1/0exceptExceptionaserror:  tm.showerror(title="Error",message="Anerrorhasoccurred:'"+str(e......
  • .NET编码规范
    ......
  • 一文读懂半导体晶圆形貌厚度测量的意义与挑战
    半导体晶圆形貌厚度测量的意义与挑战半导体晶圆形貌厚度测量是半导体制造和研发过程中至关重要的一环。它不仅可以提供制造工艺的反馈和优化依据,还可以保证半导体器件的性能和质量。在这个领域里,测量的准确性和稳定性是关键。半导体器件通常是由多层薄膜组成,每一层的厚度都对器......
  • nginx如何搭建集群
    搭建Nginx集群的主要目的是为了提高网站的可用性、负载均衡以及处理高并发请求。以下是一个简化的步骤,说明如何搭建一个基本的Nginx服务集群:基本Nginx集群搭建步骤:硬件与环境准备:准备多台服务器(例如,server1, server2,...),确保它们都安装了Linux或类Unix操作系统。保证所有服务器......
  • Apache DolphinScheduler 3.1.8 保姆级教程【安装、介绍、项目运用、邮箱预警设置】轻
    概述ApacheDolphinScheduler是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。ApacheDolphinScheduler旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种OPS编排......
  • 浅谈电动汽车充电站箱变电气安全物联监测系统设计与应用
    摘要 摘要:基于物联网技术架构提出了一种适用于电动汽车充电站箱变的电气安全物联监测系统设计方案。该系统由电气安全智能感知设备、通信网关、电气安全物联网监测平台等构成,可支持充电站箱变充电桩出线回路电流、电缆温度、剩余电流、故障电弧、短路电流等数据采集监测,并通......
  • 无涯教程-SQL - Transactions(事务)
    事务是将一个或多个更改打包在一起保存到数据库,事务对于确保数据完整性和处理数据库错误很重要。事务性质事务具有以下四个标准属性,通常以首字母缩写ACID表示。原子性-确保工作单元内的所有操作均成功完成,否则,事务将在失败时中止,并且所有先前的操作都将还原到以前的状态......
  • 华为埋头造车,躺赚的却是黄牛?
    文|AUTO芯球作者|雷歌华为和赛力斯正在重庆哼哧a哼哧建厂造车,黄牛却在网上倒卖订单躺着赚钱。前两天雷歌刚去试驾了问界M9,现场一车难求。今天回来一看,好家伙,咸鱼上,黄牛们大量倒卖M9的大定订单,少则加价1千、2千块,多的加价9万块。在加价现象中,又以2千-5千元区间居多。比如支付了5......
  • SqlSugar的Where用法
    1、普通表达式查询//id=@idvar list=db.Queryable<Student>().Where(it => it.Id == id).ToList(); //多个条件var list2=db.Queryable<Student>().WhereIF(id>0,it => it.Id == id)// 如果id>0 添加条件 id=@id  .WhereIF(name!=null,it => it.nam......
  • 基于振弦采集仪的地下工程振动监测技术研究
    基于振弦采集仪的地下工程振动监测技术研究地下工程振动监测技术是为了监测地下工程施工过程中产生的振动而进行的研究。振弦采集仪是一种常用的地下工程振动监测设备,它通过固定在地下工程附近的振弦仪来实时采集工程施工过程中产生的振动信号。 基于振弦采集仪的地下工程振......