20140814 explicit
2024-09-02 12:38:57
1、explicit
explicit 只对构造函数起作用,用来抑制隐式转换。
如:
class A
{
A(int a);
};
int Function(A a);
当调用 Function(2) 的时候,2 会隐式转换为 A 类型。这种情况常常不是程序员想要的结果,所以,要避免之,就可以这样写:
class A
{
explicit A(int a);
};
int Function(A a);
这样,当调用 Function(2) 的时候,编译器会给出错误信息(除非 Function 有个以 int 为参数的重载形式),这就避免了在程序员毫不知情的情况下出现错误。
总结:explicit 只对构造函数起作用,用来抑制隐式转换。
2、序列
序列的迭代器至少要是正向迭代器
(1)vector-向量
- 是数组的一种类的表示,提供自动内存管理,动态改变vector的长度
- 在尾部插入和删除的时间复杂度是固定;在头部和中间插入和删除元素是线性时间复杂度。
- 反转容器rbegin()和人的()。
- vector是最简单的模板类型,一般默认用它,除非其他序列类型的特殊优点能够更好的满足程序要求
(2)deque-双端队列
- 在开始和结尾处插入和删除元素的时间复杂度都是固定的
- 如果多数操作都发生在开始和结尾处,则应该使用deque数据结构
- vecotr和deque都都提供对元素的随机访问和序列中部执行插入和删除操作,但vector的执行速度会快些,因为vector对象的设计更加简单。
最新文章
- 使用haproxy的ACL封禁IP
- 自己动手写一个简单的MVC框架(第一版)
- 总结baiduTemplate和djangoTemplate的学习
- BZOJ3224 普通平衡树
- HTML 5缓存机制:Cache Manifest配置实例
- python 笔记4-- 函数式编程
- MySQL的联结(Join)语法
- SQL Sever2008 新手入门第一天安装软件
- Spark SQL数据源
- 读书笔记-《Maven实战》-2018/4/16
- 神经网络1_neuron network原理_python sklearn建模乳腺癌细胞分类器(推荐AAA)
- 牛客网数据库SQL实战(此处只有答案,没有表内容)
- Use Slim to overview model in Tensorflow like model.summary() in Keras
- JavaScript大杂烩4 - 理解JavaScript对象的继承机制
- MySQL的查询语句
- Redis集群方案<;转>;
- WP8.1学习系列(第七章)——应用选项卡Pivot交互UX
- PyQt4布局管理——绝对定位方式
- instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例 , 返回true或者false
- Bootstrap框架和inconfont、font-awesome使用