在编程过程中, 我们习惯上使用explicit或者implicit关键字实现构造函数的显式或者隐式显示。

explicit关键字:只能修饰只有一个参数的构造函数,或者有多个参数,但是除第一个参数外其他的参数都有默认值。它的作用是表明构造函数是显式方式显示的。

implicit关键字:与explicit对应,他表示隐式的进行数据转换。注:C++中不存在这个关键字,C#等编程语言中才有,此处仅仅是为了说明。

explicit

此关键字只能对用户自己定义的对象起作用,不对默认构造函数起作用
此关键字只能够修饰构造函数。而且构造函数的参数只能有一个。。

1、何时用explicit

当我们不希望自动类型转换的时候用,其实标准库好多构造函数都是explicit的

比如说vector <int> ivec(10);  //这种定义看起来一目了然

不能写成vector <int> ivec=10;//此种定义让程序员感到疑惑

2、何时不用explicit

当我们需要隐式转换的时候

比如说String类的一个构造函数

String(const char*);

C++学习(八十四)explicit和implicit相关推荐

  1. JavaScript学习(八十四)—变量

    JavaScript学习(八十四)-变量 一.什么是变量? 白话: 变量就是一个装东西的盒子 通俗:变量是用于存放数据的容器. 我们通过 变量名 获取数据,甚至数据可以修改. 二.变量在内存中的存储 ...

  2. 八十四、Python | Leetcode回溯算法系列

    @Author:Runsen @Date:2020/7/7 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  3. 花书+吴恩达深度学习(十四)卷积神经网络 CNN 之经典案例(LetNet-5, AlexNet, VGG-16, ResNet, Inception Network)

    目录 0. 前言 1. LeNet-5 2. AlexNet 3. VGG-16 4. ResNet 残差网络 5. Inception Network 如果这篇文章对你有一点小小的帮助,请给个关注, ...

  4. akka学习教程(十四) akka分布式实战

    akka系列文章目录 akka学习教程(十四) akka分布式实战 akka学习教程(十三) akka分布式 akka学习教程(十二) Spring与Akka的集成 akka学习教程(十一) akka ...

  5. DockOne微信分享(八十四):Docker在B站的实施之路

    本文讲的是DockOne微信分享(八十四):Docker在B站的实施之路[编者的话]B站一直在关注Docker的发展,去年成功在核心SLB(Tengine)集群上实施了Docker.今年我们对比了各种 ...

  6. OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack()

    OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack() 参考博客: Harris角点检测原理详解 Harri ...

  7. 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进

    吴恩达<机器学习>学习笔记十四--应用机器学习的建议实现一个机器学习模型的改进 一.任务介绍 二.代码实现 1.准备数据 2.代价函数 3.梯度计算 4.带有正则化的代价函数和梯度计算 5 ...

  8. python学习[第十四篇] 文件的输入与输出

    python学习[第十四篇] 文件的输入与输出 标准文件类型 一般来说只要程序一执行,就会访问3个文件: 标准输入(键盘) stdin 标准输出(显示器缓冲区) stdout 默认输出到屏幕 标准错误 ...

  9. JavaScript学习(十四)—元素节点关系和特殊节点

    JavaScript学习(十四)-元素节点关系和特殊节点 一.元素节点 (1).parentElement: 获取某元素的父元素,它和parentNode的区别是parentElement获取到的值时 ...

  10. 第八十四章 Caché 函数大全 $ZDATEH 函数

    文章目录 第八十四章 Caché 函数大全 $ZDATEH 函数 大纲 参数 描述 简单的$ZDATEH格式 可自定义的$ZDATEH格式 参数 date dformat dformat Defaul ...

最新文章

  1. jvm 堆外内存_NIO效率高的原理之零拷贝与直接内存映射
  2. Gson.toJson()时内存溢出StackOverflowError
  3. java画虚线_java cansvas 画虚线要怎么设置?
  4. 科学计算机的显示怎么调整成出厂设置,笔记本电脑怎么恢复出厂设置
  5. shell 压测_【原】shell编写一个简单的jmeter自动化压测脚本
  6. tensorflow计算网络占用内存_详细图解神经网络梯度下降法(tensorflow计算梯度)...
  7. 浅谈“be practical and realistic”
  8. 【Tomcat】Tomcat下设置项目为默认项目
  9. SpringBoot中Async异步方法和定时任务介绍
  10. liux环境下配置jdk
  11. QT学习回顾(二)界面布局及其控件设计
  12. Java版本新零售小程序saas商城全开源系统
  13. Github上传代码及解决main主分支问题
  14. 企业工商数据-------大数据时代下的营销利器
  15. 概率论与数理统计(3)--指数分布函数及其期望、方差
  16. xp mysql 5.6安装版下载地址_xp系统安装版下载,xp系统安装版下载地址
  17. 数据平台作业调度系统详解-实践篇
  18. kali linux 2.0安装教程,kali linux2.0安装vega
  19. android 屏蔽实体按键,Android中屏蔽返回键,home键以及其他实体按键
  20. 中国移动宽带测试用哪个软件,中国移动评测四大类手机应用APP 看完你就知道5G和4G网络差距在哪儿...

热门文章

  1. SpringBoot自定义starter时报错:Problems:dependencies.dependency.version‘ for com.zsm.starter:zsm-spring
  2. iOS OpenGL 纹理坐标详解
  3. MVC模式和MVVC模式
  4. toString()方法的概念、应用、重写toString方法
  5. pycharm 注释
  6. opera linux 64 42.0,Opera 浏览器 beta
  7. java中的static属性详细介绍
  8. 由内功心法到武功秘籍,重心会有所转变 - 能上能下,才是终极
  9. MediaTek天玑1000发布,5G芯片之争风云再起
  10. boos:一些实用工具