社区
C++ 语言
帖子详情
请问在函数前面加explicit的作用是什么?
vividtang
2004-05-09 03:49:24
请问在函数前面加explicit的作用是什么?
...全文
618
11
打赏
收藏
请问在函数前面加explicit的作用是什么?
请问在函数前面加explicit的作用是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qwertasdfg123
2004-05-10
打赏
举报
回复
同意 Hotman_x
海阔天空的创业与创作
2004-05-10
打赏
举报
回复
implicit:隐式的
explicit:显式的----强迫你显式构造
代码之诗
2004-05-09
打赏
举报
回复
dft2000(皮皮) ( ) 信誉:100 2004-05-09 16:45:00 得分:0
严格类型匹配,楼上的解释了,另外这样做也禁止了默认的构造函数的使用。必须自己明确写出来。哪怕是空的。
--------------------------------------------------------
这样是禁止了默认构造函数的使用,但这与 explicit 无关。即使没有 explicit ,默认构造函数就必需明确写出,哪怕是空的。只要定义了任何一个需要参数的构造函数,编译器就不会为你生成默认构造函数……总之,这与 explicit 无关。
btw:注意,默认构造与隐式转换并没有什么关联,默认构造函数是指“不需要提供参数的构造函数”,无参的和所有参数都有默认值的构造函数都可以成为默认构造函数。
代码之诗
2004-05-09
打赏
举报
回复
我 MSN 是有的,只是在下水平其实有限,多蒙错爱,已经是有几个网友把我错当专家上了当了,有问题当个臭皮匠凑凑份子则可,专门解决问题则在在下能力之外了。
我的 MSN : hotman_x@msn.com
bmwboy
2004-05-09
打赏
举报
回复
好像不可以,如果能,还请高手指出!谢谢!
sunyilei
2004-05-09
打赏
举报
回复
explicit只对构造函数起作用么?难道不能抑制其他类型的隐式转换?
vividtang
2004-05-09
打赏
举报
回复
谢谢大家,我明白了。另外,hotman_x你有msn吗?
如果你不介意,我可以加你,讨论。
lei601
2004-05-09
打赏
举报
回复
防止构造函数进行隐式转换
dft2000
2004-05-09
打赏
举报
回复
严格类型匹配,楼上的解释了,另外这样做也禁止了默认的构造函数的使用。必须自己明确写出来。哪怕是空的。
黄汉
2004-05-09
打赏
举报
回复
看到题目,差点忘了,谢谢解答。
代码之诗
2004-05-09
打赏
举报
回复
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 为参数的重载形式),这就避免了在程序员毫不知情的情况下出现错误。
C++构造
函数
前
加
上
explicit
关键字的
作用
在构造
函数
前
加
上
explicit
关键字,表示该构造
函数
只能被显示调用,不能被隐式调用。 构造
函数
显示调用场景: T t1(value);//定义对象的同时,通过圆括号给出初值,显示调用构造
函数
构造
函数
隐式调用场景: T t1=...
Qt类构造
函数
中
explicit
修饰符的
作用
?
Qt类构造
函数
中
explicit
修饰符的
作用
?
explicit
是C++的语法关键字。 其功能是:其限定的其类的构造
函数
只能被显式调用#include using namespace std; class Class_1 { private: int num;public: /*普通构造
函数
*...
C++构造
函数
前面
加
explicit
关键字的
作用
在C++中,
explicit
关键字是用来修饰类的构造
函数
的,被修饰的构造
函数
的类,不能发生相应的隐式类型的转换, 只能以显示的方式进行类型转换。
explicit
使用的注意事项: 1.
explicit
关键字只能用于类内部的构造
函数
...
【C++】
explicit
关键字详解(
explicit
关键字是什么? 为什么需要
explicit
关键字? 如何使用
explicit
关键字)
在我们自己平时写 C++ 代码的时候,较少会用到
explicit
关键字 。但是在C++相关的标准类库中,看到
explicit
关键字的频率还是很高的。既然出现的频率这么高,那么我们就来看看
explicit
关键字的
作用
到底是干什么的。
C++构造
函数
前的
explicit
关键字
我们在阅读C++源码时有时会看到类的构造
函数
前面
会有
explicit
关键字,这个单词字面意思是显式的(与之相反的单词是implicit,隐式的)。下面就来分析下这个关键字的
作用
。 一 例子 首先来让我们看一段简单的C++代码...
C++ 语言
64,701
社区成员
250,492
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章