从C++11开始,我们可以使用以下形式通过常量字符串构造自定义类型, 比如:

class Person
{
public:
Person(const std::string& name): _name(name){}
std::string name() const {
return _name;
}
private:
std::string name;
} inline Person operator "" _psn (const char *name, size_t n)
{
return Person(std::string(name, n));
} int main()
{
auto person = "Xiao Ming"_psn;
std::cout<< "The person' name is " << person.name() << std::endl;
return ;
}

编译执行结果:

The person' name is Xiao Ming

如上述例子所示, 其中的_psn部分为开发者自定义的部分,如nlohmann/json就使用了这个新特性,使用

auto j = "{\"name\":\"Xiao Ming\"}"_json;
std::cout << j["name"] << std::endl;

即可由常量字符串”{\”name\”:\”Xiao Ming\”}” 构造出一个包含key为name, value为”Xiao Ming”的json对象

最新文章

  1. 熟悉MyEclipse
  2. Python-变量
  3. Gulp.js----比Grunt更易用的前端构建工具
  4. paper 111:图像分类物体目标检测 from RCNN to YOLO
  5. compilation filed Unable to write to path xxxxxx 遇到这种情况的话
  6. SQLServer分页存储过程
  7. Asp.Net 之 基本控件FileUpload上传控件
  8. C#中如何只保留小数点后面两位?
  9. ThinkPHP的全部配置选项
  10. akoj-1059-Picture
  11. 最基本的mysql
  12. windows jdk安装
  13. LinkedHashMap 根据PUT顺序排序Map
  14. Java_常遇问题(一)
  15. Windows上结合使用Flume和Kafka
  16. MySQL存储过程中使用SELECT …INTO语句为变量赋值
  17. java学习书单
  18. JAVA设计模式详解(一)----------策略模式
  19. View类的XML属性、相关方法及说明
  20. php单例模式实现对象只被创建一次 mysql单例操作类

热门文章

  1. linux中硬盘分区、格式化、挂载
  2. TCP/IP学习笔记11--无线通信: 无线通信的种类, 点对点通信协议
  3. cuda-convnet在Ubuntu12.04+CUDA5.5下的配置
  4. [Nuget] - &quot;Runtime error: Could not load file or assembly &#39;System.Web.WebPages.Razor, Version=3.0.0.0&#39;&quot; 问题之解决
  5. Asp.Net Core 调用第三方Open API查询物流数据
  6. dedecms5.7怎么安装百度编辑器
  7. zblog常用到的几个标签介绍
  8. python 之 数据库(多表查询之连接查询、子查询、pymysql模块的使用)
  9. 机器学习之Bagging与随机森林笔记
  10. Mock常用占位符一览