广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++11中explicit类型转换运算符的实例用法
  • 649
分享到

C++11中explicit类型转换运算符的实例用法

2023-06-19 10:06:32 649人浏览 安东尼
摘要

这篇文章主要介绍“c++11中explicit类型转换运算符的实例用法”,在日常操作中,相信很多人在C++11中explicit类型转换运算符的实例用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++11

这篇文章主要介绍“c++11中explicit类型转换运算符的实例用法”,在日常操作中,相信很多人在C++11中explicit类型转换运算符的实例用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++11中explicit类型转换运算符的实例用法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

类型转换运算符

看下面的例子:

C++11中explicit类型转换运算符的实例用法

这时一个复数类的雏形,定义了一个double类型的类型转换运算符。有了它以后,可以像下面这样使用:

C++11中explicit类型转换运算符的实例用法

输出结果如下:

C++11中explicit类型转换运算符的实例用法

complex不支持输出运算符,所以编译器努力将c1转换成double类型以后输出。到目前为止都挺好。

真的是想转换成double?

再看下面的代码:

C++11中explicit类型转换运算符的实例用法

如果从数学的角度来讲,应该输出2.23606。但实际上,这段代码连编译都通不过。其原因是对于这段代码编译器有两种选择:一个是将c1转换称double然后加1;另一个是将1转换为复数(1+0i)以后执行复数加法。

需要程序员给个想法。

显式的类型转换运算符

为了消除二义性,一个办法就是使用explicit禁止隐式的double类型转换。代码如下:

C++11中explicit类型转换运算符的实例用法

由于无法进行隐式类型转换,所以下面的代码会出现编译错误:

C++11中explicit类型转换运算符的实例用法

这并不是什么大问题,因为转换为double输出这件事本身对不对都不好讲。代码中已经通过输出运算符重载提供了复数形式的输出功能。

输出如下:

C++11中explicit类型转换运算符的实例用法

到此,关于“C++11中explicit类型转换运算符的实例用法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: C++11中explicit类型转换运算符的实例用法

本文链接: https://www.lsjlt.com/news/295610.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++11中explicit类型转换运算符的实例用法
    这篇文章主要介绍“C++11中explicit类型转换运算符的实例用法”,在日常操作中,相信很多人在C++11中explicit类型转换运算符的实例用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++11...
    99+
    2023-06-19
  • 【Kotlin】类的继承 ② ( 使用 is 运算符进行类型检测 | 使用 as 运算符进行类型转换 | 智能类型转换 | Any 超类 )
    文章目录 一、使用 is 运算符进行类型检测二、使用 as 运算符进行类型转换 ( 智能类型转换 )三、Any 超类 一、使用 is 运算符进行类型检测 在 Kotlin 中 , 如果不确定一个 实例对象的类型 , ...
    99+
    2023-08-23
    kotlin java is运算符 as运算符 Any超类
  • JS中常用类型转换及运算符表达式
    这篇文章主要介绍“JS中常用类型转换及运算符表达式”,在日常操作中,相信很多人在JS中常用类型转换及运算符表达式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS中常用类型转...
    99+
    2022-10-19
  • C++中new类型的运算符怎么使用
    这篇文章主要介绍“C++中new类型的运算符怎么使用”,在日常操作中,相信很多人在C++中new类型的运算符怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中new类型的运算符怎么使用”的疑惑有所...
    99+
    2023-06-29
  • javascript中&&运算符与||运算符的使用方法实例
    目录前言&&运算符||运算符||运算符的小demo本章目标案例实践(通过加载json渲染数据)结尾总结前言 在前端开发领域中,&&运算符和||运算符...
    99+
    2022-11-12
  • C++实例讲解四种类型转换的使用
    目录C++类型转换C语言风格的转换C++风格的类型转换static_castreinterpret_castconst_castdynamic_cast小结C++类型转换 C语言风格...
    99+
    2022-11-13
  • C语言中字符串与各数值类型之间的转换方法
    C语言的算法设计中,经常会需要用到字符串,而由于c语言中字符串并不是一个默认类型,其标准库stdlib设计了很多函数方便我们处理字符串与其他数值类型之间的转换。 首先放上一段展示各函...
    99+
    2022-11-11
  • python中常见的运算符及用法实例
    目录前言算术运算符关系运算符逻辑运算符成员运算符身份运算符三目运算符运算符优先级总结前言 python中的运算符主要包括算术运算符,关系(比较)运算符,赋值运算符,逻辑运算符,成员运...
    99+
    2022-11-13
  • 如何使用C#中的Enum.Parse函数将字符串转换为枚举类型的值
    如何使用C#中的Enum.Parse函数将字符串转换为枚举类型的值在C#中,枚举(Enum)是一种用于声明一组相关常量的数据类型。当我们需要将字符串转换为枚举类型的值时,可以使用Enum.Parse函数来实现。本文将详细介绍如何使用Enum...
    99+
    2023-11-18
    C# 字符串转换 EnumParse
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作