“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”有什么区别? 的相关文章

  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable

随机推荐

  • 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