C.101: Give a container value semantics

C.101:赋予容器值语义‍

Reason(原因)‍

Regular objects are simpler to think and reason about than irregular ones. Familiarity.

常规对象相比非常规对象更容易理解和思考。这是亲和度方面的意义。

Note(注意)

If meaningful, make a container Regular (the concept). In particular, ensure that an object compares equal to its copy.

如果可以理解,让容器符合常规(概念)。尤其要保证对象和它的拷贝比较时结果相等。

Example(示例)‍

void f(const Sorted_vector<string>& v)
{Sorted_vector<string> v2 {v};if (v != v2)cout << "insanity rules!\n";// ...
}

Enforcement(实施建议)

???

原文链接

https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c101-give-a-container-value-semantics


觉得本文有帮助?欢迎点赞并分享给更多的人。

更新文章,请关注微信公众号【面向对象思考】

C++核心准则C.101:赋予容器值语义‍相关推荐

  1. php 语法 条件变量,C ++核心准则:注意条件变量的陷阱

    今天,我写了一篇关于条件变量的恐怖文章.您应该意识到条件变量的这一问题.C ++核心准则CP 42仅声明:"不要无条件等待". 等待!条件变量支持一个非常简单的概念.一个线程准备一 ...

  2. C++核心准则ES.56​:只在需要将一个对象显式移动到另外的作用域时使用std::move​

    ES.56: Write std::move() only when you need to explicitly move an object to another scope ES.56:只在需要 ...

  3. 输入今天是星期几的序号,给今天和昨天赋予枚举值,并输出昨天是星期几的枚举值

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p165 习题6 4.输入今天是星期几的序号(0~6代表星期天至星期六),给今天和昨天赋予枚举值,并输出 ...

  4. hsv白色h值是多少_使用Global Mapper给建筑轮廓SHP数据赋予高程值

    如果想看到三维城市的效果,就需要把建筑轮廓SHP数据转换成三维白模.三维白模有多种格式和方法,但是均需要先给建筑轮廓矢量赋予高程值. 1.首先把SHP格式的建筑轮廓加载到GM中: 由于建筑轮廓数据存储 ...

  5. modbus软件开发实战指南_C++核心准则?GSL:指南支持库

    GSL: Guidelines support library GSL:指南支持库 The GSL is a small library of facilities designed to suppo ...

  6. 开源压缩算法brotli_Google的Brotli压缩算法,C ++核心准则以及更多新闻

    开源压缩算法brotli 在本周的开源新闻综述中,我们将介绍Google的Brotli压缩算法,适用于GitHub的Classroom,C ++ Core Guidelines等! 2015年9月20 ...

  7. 利用NVIDIA-NGC中的MATLAB容器加速语义分割

    利用NVIDIA-NGC中的MATLAB容器加速语义分割 Speeding Up Semantic Segmentation Using MATLAB Container from NVIDIA NG ...

  8. html中的容器和语义标签

    html中的容器和语义标签 **div **:没有语义 header:通常用于表示页头,也可表示文章的头部 footer:通常表示页脚,也可以表示文章的尾部 article:通常用于表示整篇文章 se ...

  9. 深拷贝与浅拷贝、值语义与引用语义对象语义 ——以C++和Python为例

    深拷贝与浅拷贝.值语义与引用语义/对象语义 --以C++和Python为例 值语义与引用语义(对象语义) 本小节参考自:https://www.cnblogs.com/Solstice/archive ...

最新文章

  1. MySQL优化篇:show profile进行SQL分析
  2. Science:又一明星菌群可以调控肠道免疫?
  3. Navicat Premium 15连接SQL sever (记录一下我的艰难历程,希望对大家有用,摸了半天终于连接上了)
  4. 解决Linux下启动Tomcat遇到Neither the JAVA_HOME nor the JRE_HOME environment variable is defined...
  5. python 按键精灵 离线_python,PyAutoGUI,自动操作鼠标键盘,类似按键精灵
  6. react学习(69)--置空操作
  7. 综保参数如何设定_FANUC主轴速度怎么去设定限制?
  8. Matlab 读取excel文件提示服务器出现意外情况或无法读取问题解决
  9. (转)UIButton用法详解一
  10. CLIP还能做分割任务?哥廷根大学提出一个使用文本和图像prompt,能同时作三个分割任务的模型CLIPSeg,榨干CLIP能力...
  11. 21天通关python 磁力_Python 实现 BT 种子转化为磁力链接 [实战]
  12. JQuery广告(新闻)浮动(漂浮)框
  13. 【贪心】Songs Compression
  14. 泰坦尼克号沉船数据分析与可视化、数据建模与分类预测【Python | 机器学习-Sklearn】
  15. MNIST数据集学习
  16. 北京市高等教育自学考试2023年教材信息表
  17. 香港4月1日5G商用,月费198港元起
  18. 华为V8手机USB OTG Type-C接口数据线
  19. 雅虎财经再次获得伯克希尔哈撒韦年度股东大会独家直播权
  20. C语言:【换钱问题】人民币问题

热门文章

  1. js 在当前时间加一小时
  2. Elasticsearch(全文搜索引擎)
  3. mplayer说明及常用命令
  4. 数字货币支付模式通过某区块链支付平台在某资金支付项目中的业务处理流程分享
  5. 关注 | 蛙色元宇宙,正式成为XRMA联盟成员单位
  6. DHS警告:使用安全软件监听HTTPS流量可能会削弱网络安全
  7. 千人聚集一起看秀?刷爆魔都朋友圈的灯光秀里到底有什么?
  8. 量子计算机 郭光灿,郭光灿(中国科学院院士、量子信息学家)_百度百科
  9. 埋点设计思路 - 基础知识和设计流程
  10. java水果忍者7723_水果忍者v1.7.6版