C++ 中的“auto 运算符”是什么?

2024-02-09

Clang https://en.wikipedia.org/wiki/Clang和 Visual Studio 编译器(但不是GCC https://en.wikipedia.org/wiki/GNU_Compiler_Collection)允许编写如下代码:

struct A
{
  operator auto() { return 0; }
};

int main()
{
   A a;
   a.operator auto();
}

What is operator auto?它是特定编译器或标准语言功能的扩展吗?如果是,它出现在哪种语言标准(例如 C++17)中?


When auto用于用户定义的转换函数 https://en.cppreference.com/w/cpp/language/cast_operator类型将通过返回类型推导来推导,即int对于这种情况(0)。这是在 C++14 中引入的。

占位符 auto 可用于转换类型 ID,表示一个推导的返回类型 https://en.cppreference.com/w/cpp/language/function#Return_type_deduction:

struct X {
    operator int(); // OK
    operator auto() -> short;  // error: trailing return type not part of syntax
    operator auto() const { return 10; } // OK: deduced return type
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 中的“auto 运算符”是什么? 的相关文章

  • 捕获 .aspx 和 .ascx 页面中的异常

    问题说明了一切 请看以下示例代码 ul li li ul
  • 如何在 C# 中将 Json 转换为对象

    我想将 Json 转换为 C 中的对象 这里的 Json 是 值 e920ce0f e3f5 4c6f 8e3d d2fbc51990e4 如何使用 Object 问题看似愚蠢 但其实并不那么愚蠢 我没有简单的 Json 我有 IEnume
  • 如何修复错误:“检测到无法访问的代码”

    我有以下代码 private string GetAnswer private int CountLeapYears DateTime startDate return count String answer GetAnswer Respo
  • 混合模型优先和代码优先

    我们使用模型优先方法创建了一个 Web 应用程序 一名新开发人员进入该项目 并使用代码优先方法 使用数据库文件 创建了一个新的自定义模型 这 这是代码第一个数据库上下文 namespace WVITDB DAL public class D
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • 用于在标头更改时重新编译的简单 C 项目的示例 makefile

    有谁有完整的 makefile 可以执行以下操作 如果 HEADER 文件发生更改 则重建项目 cpp 文件在 makefile 中列出 头文件未在 makefile 中列出 头文件允许与 cpp 文件具有不同的名称 部分cpp文件没有头文
  • 为什么这个 makefile 在“make clean”上执行目标

    这是我当前的 makefile CXX g CXXFLAGS Wall O3 LDFLAGS TARGET testcpp SRCS main cpp object cpp foo cpp OBJS SRCS cpp o DEPS SRCS
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • 来自嵌入图像的 BitmapSource

    我的目标是在 WPF 窗口上重写 OnRender 方法中绘制图像 someImage png 它是嵌入资源 protected override void OnRender System Windows Media DrawingCont
  • 测量进程消耗的 CPU 时钟

    我用 C 语言编写了一个程序 它是作为研究结果创建的程序 我想计算程序消耗的确切 CPU 周期 精确的循环次数 知道我怎样才能找到它吗 The valgrind tool cachegrind valgrind tool cachegrin
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • Unity3D - 将 UI 对象移动到屏幕中心,同时保持其父子关系

    我有一个 UI 图像 它的父级是 RectTransform 容器 该容器的父级是 UI 面板 而 UI 面板的父级是 Canvas 我希望能够将此 UI 图像移动到屏幕中心 即画布 同时保留父级层次结构 我的目标是将 UI 图像从中心动画
  • 如何从 Windows Phone 7 模拟器获取数据

    我有一个 WP7 的单元测试框架 它在手机上运行 结果相当难以阅读 因此我将它们写入 XDocument 我的问题是 如何才能将这个 XML 文件从手机上移到我的桌面上 以便我可以实际分析结果 到目前为止 我所做的是将 Debugger B
  • 如何组合两个 lambda [重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中组合两个 lambda 表达式 https stackoverflow com questions 1717444 combining two lamba expressions in c
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work
  • 声明一个负长度的数组

    当创建负长度数组时 C 中会发生什么 例如 int n 35 int testArray n for int i 0 i lt 10 i testArray i i 1 这段代码将编译 并且启用 Wall 时不会出现警告 并且似乎您可以分配
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其
  • 如何在 ASP.NET Core 中注入泛型的依赖关系

    我有以下存储库类 public class TestRepository Repository

随机推荐

  • 在 Grails 3.x 中将配置文件 application.yml 转换为 application.groovy

    我正在尝试创建一个简单的 Grails 3 项目 但遇到了一些非常简单的问题 因此 我希望我的数据源属性来自我在 IntelliJ IDE 中设置的 VM 选项 在 Grails 2 x 之前 我经常这样做 environments dev
  • 缓存还是存储在会话中?

    我有一个页面从我的数据库加载了大量数据 我想加快加载时间 我已经缓存了查询 但加载时间仍然比我希望的要长 是否可以渲染包含数据的表并将其存储在会话中以在每次新页面刷新时加载 我什至考虑使用 ob start 将其放入外部文本文件中 最好的处
  • LinkedIn 帖子检查员在 https URL 上遇到服务器错误

    在 LinkedIn 帖子检查器中检查给定 URL 会返回以下摄取反馈 Error We encountered a server error while trying to inspect the URL URL 重定向轨迹显示 1 0
  • 将网格 3D 数据插值到更精细的比例

    我有一个概率曲面的 NetCDF 文件 它是一个 30x30 的网格 纬度 经度间隔为 0 25 度 并在 z 维度中描述概率表面 我可以轻松地将其导入 NetCDF 查看器 Panoply 然后轻而易举地 选中一个框 将原始数据插值 平滑
  • 在同一环境中使用同一编译器编译同一程序时,未指定和未定义的行为是否需要保持一致?

    让我们假设我的程序包含 C 标准规定为未指定行为的特定构造 这基本上意味着实现必须做一些合理的事情 但允许不记录它 但是 每次编译具有未指定行为的特定构造时 是否需要实现产生相同的行为 或者是否允许在不同的编译中产生不同的行为 未定义的行为
  • 如何显示多个权限请求的权限理由?

    我正在使用 Android API 25 需要在应用程序中发出权限请求 有大量关于如何发出请求以及如何显示基本原理的代码示例 这个链接在这里 https github com googlesamples android RuntimePer
  • 项目是否必须创建为精灵套件,还是可以简单地添加框架?

    我正在退一步学习我正在制作的 2D 游戏的精灵套件 而不是使用 UIKit 在我读过的所有教程中 他们将新项目创建为 Sprite Kit 而不是单一视图 只是想知道我是否需要重新创建我的游戏 或者我是否可以简单地将精灵套件框架添加到我现有
  • 根据条件在多对多表中执行左连接

    一般案例 当您想要向关系的外部添加条件时 如何在多对多关系中执行左连接 具体案例 我们正在处理两个表 team and pool 还有一个team pool表充当它们之间的多对多联结表 另外 一个pool has a stage id co
  • 错误:函数返回局部变量的地址

    我是 C 初学者 正在自学 我正在创建以下函数 char foo int x if x lt 0 char a 1000 char b blah x x 1 char c foo x strcpy a b strcat a c return
  • 如何用docker文件覆盖nginx默认配置?

    我有一个使用 React router 的应用程序 我为它创建了一个 docker 镜像 我正在使用 nginx 服务器并且它可以工作 但是 刷新页面会出现 nginx 404 错误 我知道我需要覆盖 nginx 配置文件才能使其工作 但不
  • 如何在 C++ 正则表达式中使用 Unicode 范围

    我必须在 C 的正则表达式中使用 unicode 范围 基本上我需要的是有一个正则表达式来接受所有有效的 unicode 字符 我只是尝试使用测试表达式并面临一些问题 std regex reg u0080 uDB7Fa z0 9 问题是与
  • Django DDP 帮助

    对于这个问题我很抱歉我还不是 django 和meteorjs 的专家 我正在尝试使用此 django ddp 技术 但我有点陷入示例使用说明中的 启动 Django DDP 服务 https github com commoncode d
  • 未加权图的最短节点序列

    我想知道是否有一种算法可以通过从头节点到尾节点的图找到最短的节点序列 该图从头节点分支出来 并且是任意复杂的 并在尾节点处收敛 节点之间的所有连接都是未加权的 我正在考虑解决这个问题 从头节点和尾节点采取探索性步骤 直到图形两端的节点接触等
  • 使用 LESS mixin 多次设置变量但得到错误的结果

    在前面 我今天开始少了 因此 欢迎提出如何做得更好的建议 我有以下 less 文件 test target context em target context 1em custom field position relative test
  • Java 将文本字符串添加到 Rectangle2D

    我有一些矩形 给定一个声明并定义为的矩形 Rectangle2D rec new Rectangle2D Double 50 50 50 50 是否可以在该矩形内添加一串文本 谢谢 不要尝试将字符串放入预定义的矩形中 而是考虑使用FontM
  • 如何在同一部分文本上的 TextView 文本上设置多个跨度?

    假设我有下一个文本 你好堆栈溢出 我希望将第二个词设置为两者相对尺寸跨度 http developer android com reference android text style RelativeSizeSpan html 设置相对字
  • 在Android中如何实现这样的UI呢?

    在我的一个应用程序中 我需要为线性布局创建一个边框 如下所示 我不想有图像并将其设置为背景 因为那时我需要为不同的设备创建各种尺寸的图像 如果我使用线性布局创建布局并使用绝对定位放置文本视图 则它在不同设备中可能看起来不符合预期 那么实现这
  • Django复杂查询从groupby和having子句中获取数据

    我想在具有 CNT Status 的 MyUser 表上执行 group by 子句 原始查询如下所示 SELECT user id from user table GROUP BY user id HAVING COUNT status
  • 尝试运行 Docker 导致退出代码 127

    我正在尝试在使用 docker 的 Windows 中运行某个应用程序 由于该应用程序是 shell 脚本 因此我使用 cygwin 终端 作为 docker 的新手 我对其工作原理没有明确的想法 使用 boot2docker 我在 Win
  • C++ 中的“auto 运算符”是什么?

    Clang https en wikipedia org wiki Clang和 Visual Studio 编译器 但不是GCC https en wikipedia org wiki GNU Compiler Collection 允许