C++学习(八十四)explicit和implicit
在编程过程中, 我们习惯上使用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相关推荐
- JavaScript学习(八十四)—变量
JavaScript学习(八十四)-变量 一.什么是变量? 白话: 变量就是一个装东西的盒子 通俗:变量是用于存放数据的容器. 我们通过 变量名 获取数据,甚至数据可以修改. 二.变量在内存中的存储 ...
- 八十四、Python | Leetcode回溯算法系列
@Author:Runsen @Date:2020/7/7 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- 花书+吴恩达深度学习(十四)卷积神经网络 CNN 之经典案例(LetNet-5, AlexNet, VGG-16, ResNet, Inception Network)
目录 0. 前言 1. LeNet-5 2. AlexNet 3. VGG-16 4. ResNet 残差网络 5. Inception Network 如果这篇文章对你有一点小小的帮助,请给个关注, ...
- akka学习教程(十四) akka分布式实战
akka系列文章目录 akka学习教程(十四) akka分布式实战 akka学习教程(十三) akka分布式 akka学习教程(十二) Spring与Akka的集成 akka学习教程(十一) akka ...
- DockOne微信分享(八十四):Docker在B站的实施之路
本文讲的是DockOne微信分享(八十四):Docker在B站的实施之路[编者的话]B站一直在关注Docker的发展,去年成功在核心SLB(Tengine)集群上实施了Docker.今年我们对比了各种 ...
- OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack()
OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack() 参考博客: Harris角点检测原理详解 Harri ...
- 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进
吴恩达<机器学习>学习笔记十四--应用机器学习的建议实现一个机器学习模型的改进 一.任务介绍 二.代码实现 1.准备数据 2.代价函数 3.梯度计算 4.带有正则化的代价函数和梯度计算 5 ...
- python学习[第十四篇] 文件的输入与输出
python学习[第十四篇] 文件的输入与输出 标准文件类型 一般来说只要程序一执行,就会访问3个文件: 标准输入(键盘) stdin 标准输出(显示器缓冲区) stdout 默认输出到屏幕 标准错误 ...
- JavaScript学习(十四)—元素节点关系和特殊节点
JavaScript学习(十四)-元素节点关系和特殊节点 一.元素节点 (1).parentElement: 获取某元素的父元素,它和parentNode的区别是parentElement获取到的值时 ...
- 第八十四章 Caché 函数大全 $ZDATEH 函数
文章目录 第八十四章 Caché 函数大全 $ZDATEH 函数 大纲 参数 描述 简单的$ZDATEH格式 可自定义的$ZDATEH格式 参数 date dformat dformat Defaul ...
最新文章
- jvm 堆外内存_NIO效率高的原理之零拷贝与直接内存映射
- Gson.toJson()时内存溢出StackOverflowError
- java画虚线_java cansvas 画虚线要怎么设置?
- 科学计算机的显示怎么调整成出厂设置,笔记本电脑怎么恢复出厂设置
- shell 压测_【原】shell编写一个简单的jmeter自动化压测脚本
- tensorflow计算网络占用内存_详细图解神经网络梯度下降法(tensorflow计算梯度)...
- 浅谈“be practical and realistic”
- 【Tomcat】Tomcat下设置项目为默认项目
- SpringBoot中Async异步方法和定时任务介绍
- liux环境下配置jdk
- QT学习回顾(二)界面布局及其控件设计
- Java版本新零售小程序saas商城全开源系统
- Github上传代码及解决main主分支问题
- 企业工商数据-------大数据时代下的营销利器
- 概率论与数理统计(3)--指数分布函数及其期望、方差
- xp mysql 5.6安装版下载地址_xp系统安装版下载,xp系统安装版下载地址
- 数据平台作业调度系统详解-实践篇
- kali linux 2.0安装教程,kali linux2.0安装vega
- android 屏蔽实体按键,Android中屏蔽返回键,home键以及其他实体按键
- 中国移动宽带测试用哪个软件,中国移动评测四大类手机应用APP 看完你就知道5G和4G网络差距在哪儿...
热门文章
- SpringBoot自定义starter时报错:Problems:dependencies.dependency.version‘ for com.zsm.starter:zsm-spring
- iOS OpenGL 纹理坐标详解
- MVC模式和MVVC模式
- toString()方法的概念、应用、重写toString方法
- pycharm 注释
- opera linux 64 42.0,Opera 浏览器 beta
- java中的static属性详细介绍
- 由内功心法到武功秘籍,重心会有所转变 - 能上能下,才是终极
- MediaTek天玑1000发布,5G芯片之争风云再起
- boos:一些实用工具