“typedef”和“using”有什么区别?

2023-11-25

我知道在 C++11 中我们现在可以使用using编写类型别名,例如typedefs:

typedef int MyInt;

据我了解,相当于:

using MyInt = int;

新的语法是为了找到一种表达“模板 typedef”的方法而出现的:

template< class T > using MyType = AnotherType< T, MyAllocatorType >;

但是,对于前两个非模板示例,标准中是否还有其他细微差别?例如,typedef以“弱”方式进行别名处理。也就是说,它不会创建新类型,而只会创建新名称(这些名称之间的转换是隐式的)。

是否与using或者它会生成新类型吗?有什么区别吗?


从标准(强调我的)(7.1.3.2)来看,它们是等效的:

typedef 名称也可以通过别名声明引入。这 using 关键字后面的标识符成为 typedef-name 并且 标识符所属的可选 attribute-specifier-seq 到那个 typedef 名称。它具有相同的语义,就好像它是 由 typedef 说明符引入。特别是,它 没有定义新类型,并且它不应出现在 type-id 中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“typedef”和“using”有什么区别? 的相关文章

随机推荐

  • AngularJS limitTo 过滤对象上的 ngRepeat(像字典一样使用)

    是否可以使用limitTo过滤在ngRepeat指令重复对象的属性而不是数组中的项目 我知道官方文档说输入limitTo需要是数组或字符串 但想知道是否有办法让它发挥作用 这是示例代码 li li And scope phones dict
  • jQuery UI 自动完成文本框中的多个值

    我需要一种简单的自动完成搜索功能 但也允许用户输入多个值 我正在使用 jQuery UI 的自动完成小部件 http jqueryui com autocomplete 到目前为止 我已将源设置为仅搜索建议中的第一个字母 我现在想添加的是用
  • 如何获取 FxCop 中 callvirt IL 指令实际调用的方法

    我仍在努力让我的 FxCop 规则发挥作用 作为其中的一部分 我需要弄清楚方法调用哪些方法 以前我用的是CallGraph CallersFor 相反地做 无论如何这是我的最终目标 但是它似乎有我下面描述的相同问题 作为使用的替代方案Cal
  • 如何在asp.net中使用__doPostBack函数

    我正在尝试使用 doPostBack函数 这样我就可以强制我的页面在页面加载时进行后包 但我在理解上遇到一些困难 当我在网上查看示例时 单击按钮时 我想发回帖子 但不确定如何完成后面代码中的代码 这是我到目前为止所拥有的 这是我的按钮
  • 0x80040154 的 COMException 是否总是“类未注册”?

    0x80040154 的 System Runtime InteropServices COMException 是否始终意味着该类未注册 我收到一个 COMException 其中显示 由于以下错误 检索具有 CLSID 29131539
  • “npm ci”抛出异常:无法读取未定义的属性“长度”

    我在本地环境和 CircleCI 中都遇到了这个异常 gt email protected postinstall home vallo project node modules core js gt node e try require
  • nginx - 基于请求标头的响应

    我安装了 nginx 1 0 8 这是我的问题 我有 2 个文件 file1 js and file2 js 请求的路径是这样的 www mysite com files dir user file js 如果请求的标头 X Header
  • Discover 信用卡的正则表达式

    我已读完这个问题 但对于 Discover 卡 起始数字是6011 622126 622925 644 649 65而不仅仅是6011 65 Source 对于发现卡 我从该问题中选择了这个正则表达式 6 011 5 0 9 2 0 9 1
  • 保存到 hdf5 非常慢(Python 冻结)

    我正在尝试将瓶颈值保存到新创建的 hdf5 文件中 瓶颈值呈批量形状 120 10 10 2048 单独保存一个批次就占用了超过 16 个千兆字节 而 Python 似乎在该批次上冻结了 根据最近的发现 请参阅更新 似乎 hdf5 占用大内
  • Microsoft 安全目录格式文档和 API 示例

    我正在寻找有关使用 Microsoft 安全目录的 API 的任何文档 或者作为替代 有关文件格式的信息 以便我可以编写自己的解析器 简而言之 我有一些需要使用的 cat 文件 在十六进制编辑器中查看文件 它们显然有不同的区域 这些区域以某
  • TSQL:按周对客户订单进行分组

    我有一张包含订单集合的表 这些字段是 customerName text DateOfOrder 约会时间 我想显示每个客户每周的订单总数 我想把它安排在每周的星期五 这样它看起来像这样 all dates follow mm dd yyy
  • 控制 Scala 插件中的错误 IntelliJ 代码编辑器错误

    我有从 ANTLR4 生成的 Java 代码 Scala 通过扩展一些方法来使用 Java 代码 问题是 IntelliJ 的 scala 插件似乎不知道 Java 基类和 Scala 子类之间的关系 从而显示误报错误消息 当 Scala
  • 在任意长的对象列表上使用 cbind

    我想找到一种方法来创建 data frame 通过使用cbind 将许多单独的对象连接在一起 例如 如果 A B C 和 D 都是等长的向量 则可以创建data frameABCD 与 ABCD lt cbind A B C D 然而 当要
  • 选择 IE 中未显示的选项

    我有一个动态生成的选择 其中包含一些选项 它在普通浏览器中显示选项很好 但在 IE 中显示空选项 这是生成的 HTML
  • UIStackView隐藏视图动画

    在 iOS 11 中 隐藏动画的行为UIStackView已更改 但我无法在任何地方找到此记录 iOS 10 iOS 11 两者的代码都是这样的 UIView animate withDuration DiscoverHeaderView
  • BigQuery 中具有不同元素的数组串联

    假设每一行都有一个id和两个数组array 1 and array 2看起来像下面的 SELECT a id 1 2 3 4 5 array 1 2 2 2 3 6 array 2 UNION ALL SELECT b 2 3 4 5 6
  • 为什么 Tor 无法访问本地主机页面

    我正在运行 Tor 和一个用于获取网页的 python 脚本 socks setdefaultproxy socks PROXY TYPE SOCKS5 127 0 0 1 9050 socket socket socks socksock
  • 使用 css 将图像缩放到宽度和高度以进行缩放

    边界框约为 1000x600 部分图像为 500x100 而其他一些是 400x100 极端的例子 现在我想 将两者缩放到边界框能够达到的最大尺寸 处理 但保持它们的规模 img width 100 height 100 不会保持图像的比例
  • Excel ScreenUpdating False 并且屏幕仍然闪烁

    我有以下简单的代码来关闭一系列打开的工作簿 我刚刚切换到 Excel 2013 在这个新版本中 对于每个未隐藏的工作簿 我的屏幕在 Excel 中不断闪烁一个白色窗口 如何才能关闭烦人的屏幕闪烁 Sub CloseFiles On Erro
  • “typedef”和“using”有什么区别?

    我知道在 C 11 中我们现在可以使用using编写类型别名 例如typedefs typedef int MyInt 据我了解 相当于 using MyInt int 新的语法是为了找到一种表达 模板 typedef 的方法而出现的 te