首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【effectiveC+】01_使用explicit禁止编译器执行非预期的类型转换

所谓 default 构造函数是一个可被调用而不带任何实参者。

这样的构造函数要不没有参数,要不就是每个参数都有缺省值。

上述的classes B和 C的构造函数都被声明为explicit,这可阻止它们被用来执行隐式类型转换(implicit type conversions),但它们仍可被用来进行显式类型转换(explicit type conversions)

被声明为 explicit的构造函数通常比其non-explici兄弟更受欢迎,因为它们禁止编译器执行非预期(往往也不被期望)的类型转换。除非我有一个好理由允许构造函数被用于隐式类型转换,否则我会把它声明为 explicit。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210929A0HHMS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券