auto* 的类型推导规则是什么?

2023-12-27

类型推导规则是什么auto*?

考虑以下:

int x = 64;
int* px = &x;

auto* v1 = &x;    // auto => ???    ok v1 is int* ...
auto* v2 = px;    // auto => ???    is v2 int*  ?
auto* v3 = &px;   // auto => ???    is v3 int** ?

只是为了澄清我的问题,如果我们将类型推导分为两个步骤:

  1. 推导出“的类型auto“ 本身没有(*) ... 然后
  2. 推断对象的类型(v1, v2 and v3)后添加(*)

所以我的两个问题是:

  1. 什么会auto可以推导为没有 (*) ?
  2. Will v2是指向int (int*) and v3指向指针的指针(int**) ?

auto将推导出给定表达式的 cv 限定类型。auto*将推导出表达式指向的类型的 cv 限定类型 - 如果表达式是指针 - 否则将无法编译。

对于给定的示例,实际类型v将会pointer to int, 与v2,并且对于v3这将是pointer to pointer to int.

如果你的第一个例子写成auto v1 = &px,v1 的类型将保持不变。

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

auto* 的类型推导规则是什么? 的相关文章

  • WebClient.DownloadDataAsync 冻结了我的 UI

    我在 Form 构造函数中的 InitializeComponent 之后有以下代码 using WebClient client new WebClient client DownloadDataCompleted new Downloa
  • 如何使用 ASP.NET MVC 编辑多选列表?

    我想编辑一个如下所示的对象 我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList 使用 mvc 中的标准编辑视图 我只得到映射的字符串和布尔值 下面未显示 我在 google 上找到的许多示例都
  • 是否可以从 C++ 应用程序调用 C# 应用程序?

    我是一名编程学生 现在我已经上了两门 C 课程 这个学期我将参加我的第一门 C 课程 出于好奇 是否可以从 C 应用程序调用 C 应用程序 如果是的话 是否还可以检查运行该程序的计算机是否具有 NET框架 我只是很好奇 我想如果可能的话 这
  • 无法将 std::min 传递给函数,std::min 的副本有效

    Passing std min函数无法编译 我复制了 libcpp 声明std min进入我的源文件并且它可以工作 std 版本有什么问题 clang 和 gcc 也会发生同样的情况 在 Godbolt 上测试 https godbolt
  • IEnumerable 的 String.Join(string, string[]) 的类似物

    class String包含非常有用的方法 String Join string string 它从数组创建一个字符串 用给定的符号分隔数组的每个元素 但一般来说 它不会在最后一个元素之后添加分隔符 我将它用于 ASP NET 编码 以用
  • C free() 是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 malloc 和 free 如何工作 https stackoverflow com questions 1119134 how malloc and free work include
  • 如果 JSON.NET 中的值为 null 或空格,则防止序列化

    我有一个对象需要以这样的方式序列化 即 null 和 空白 空或只是空格 值都不会序列化 我不控制对象本身 因此无法设置属性 但我知道所有属性都是字符串 环境NullValueHandling显然 忽略 只能让我找到解决方案的一部分 它 似
  • 司机和提供商之间的区别

    数据库中的驱动程序和提供程序有什么区别 有没有解释一下 不胜感激 样本 ADO NET driver for MySQL vs providerName System Data EntityClient 来自 MSDN 论坛 驱动程序是安装
  • C# 处理标准输入

    我目前正在尝试通过命令行断开与网络文件夹的连接 并使用以下代码 System Diagnostics Process process2 new System Diagnostics Process System Diagnostics Pr
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu
  • C++ 将联合强制转换为其成员类型之一

    以下对我来说似乎完全符合逻辑 但不是有效的 C 联合不能隐式转换为其成员类型之一 有人知道为什么不这样做的充分理由吗 union u int i char c function f int i int main u v v i 6 f v
  • 为什么需要数字后缀?

    C 语言 我确信还有其他语言 需要在数字文字末尾添加后缀 这些后缀指示文字的类型 例如 5m是一个小数 5f是一个浮点数 我的问题是 这些后缀真的有必要吗 或者是否可以从上下文中推断出文字的类型 例如 代码decimal d 5 0应该推断
  • 在 C# 中何时使用 ArrayList 而不是 array[]?

    我经常使用一个ArrayList而不是 正常 array 当我使用时 我感觉好像我在作弊 或懒惰 ArrayList 什么时候可以使用ArrayList在数组上 数组是强类型的 并且可以很好地用作参数 如果您知道集合的长度并且它是固定的 则
  • 如何使用递归查找数字中的最小元素 [C]

    好的 所以我正在准备我的 C 考试 当谈到递归时我有点卡住了我是大学一年级的学生 这对我来说似乎有点困难 练习要求在给定的数字中使用递归函数我需要找到最小的元素 例如 52873 是 2 程序需要打印 2 include
  • Xamarin - SignalR 挂在连接上

    我正在尝试将我的 Xamarin 应用程序连接到托管在 Azure 上的 SignalR 后端 我遇到的问题是每次我在 HubConnection 上调用 StartAsync 时 它都会挂起客户端并且请求永远不会完成 我尝试通过应用程序进
  • 使用多线程进行矩阵乘法?

    我应该使用线程将两个矩阵相乘 有两件事 当我运行程序时 我不断得到 0 我还收到消息错误 对于每个错误 它在粗体行上显示 警告 从不兼容的指针类型传递 printMatrix 的参数1 我尝试打印输出 还要注意 第一个粗体块 这是我解决问题
  • doxygen c++:记录由“using”声明公开的私有继承成员

    作为一个例子 我有以下课程 class A public void methodOne class B private A public Brief description using A methodOne 我还没有找到强制 doxyge
  • 为什么 f(i = -1, i = -1) 是未定义的行为?

    我正在读关于违反评估顺序 http en cppreference com w cpp language eval order 他们举了一个令我困惑的例子 1 如果标量对象上的副作用相对于同一标量对象上的另一个副作用是无序的 则行为未定义
  • 如何在dll级别读取app.config? [复制]

    这个问题在这里已经有答案了 我在一个解决方案中有一个控制台应用程序项目和库项目 dll The 图书馆项目有 app config 文件 我在其中存储我在库中使用的一些键值对 控制台应用程序引用此 dll 我有另一个 app config
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad

随机推荐

  • 如何使用 monodroid 将应用程序添加到“共享”菜单

    我的解决方案基于这篇文章 http twigstechtips blogspot com 2011 10 android sharing images or files through html http twigstechtips blo
  • 字体粗细

    我正在使用购买字体 Museo Sans 作为我正在开发的应用程序中的自定义字体 我购买时给我的文件包含不同粗细的网络字体文件 MuseoSans100Regular MuseoSans300Regular 等 font face 中有没有
  • 链接到没有锚标记的网页上的任意内容

    我正在寻找一种方法来链接到网页上特定范围的单词 图像或其他任意内容 一种替代方法是在页面上引入大量锚点 但我可以接受需要 JavaScript 的解决方案 最好也是突出目标内容的一种 如果页面内容已被修改并且链接不再有效 那么最好有某种保护
  • 污染 $scope 对象会影响性能吗?

    我有一个控制器 其中 scope 对象用于存储仅在同一控制器中本地使用的方法和值 有很多这样的事情正在发生 scope foo something scope bar something else 等等 这些值均未在视图中使用 我的问题是污
  • 在 Bash 中以字符串形式执行命令

    我正在测试一个简短的 bash 脚本 我想将字符串作为命令执行 bin bash echo AVR GCC elf main elf c main c gcc avr gcc mmcu atmega128 Wall Os o elf c e
  • aspx页面中的变量范围

    这是为什么scriptPath变量是超出范围在代码的底部 它不应该在整个页面的范围内吗 在 MVC 中 如果我将其标记在页面顶部 例如 string scriptPath assets scripts gkoConfig GkoConfig
  • 如何更改 p:barChart yaxis-tick 颜色

    如何更改 barChart yaxis tick 颜色 jqplot axis jqplot yaxis jqplot yaxis tick color green 我尝试了我能找到的任何选项 也使用 Firebug 但没有任何效果 任何想
  • HTML/JavaScript UI 小部件 GUI 构建器 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Python Pandas 如何将 groupby 操作结果分配回父数据帧中的列?

    我在 IPython 中有以下数据框 其中每一行都是一只股票 In 261 bdata Out 261
  • jQuery:按类和输入类型选择

    我想使用 jQuery 选择一组既具有特定输入类型 例如复选框 又具有特定类的元素 但是 当我尝试以下操作时 input checkbox myClass 我没有收到任何退回的物品 我怎样才能在 jQuery 中完成这个任务 您的选择器正在
  • 在聚合框架 C# 中使用 Facet

    我想对我的数据创建一个聚合 以获取 Net 应用程序中书籍集合的特定标签的总计数 我有以下书籍课程 public class Book public string Id get set public string Name get set
  • 带向量极限的四边形

    我想使用quad作为限制列表没有 for 循环 作为一个基本示例 T 1 2 3 f x x 2 quad 0 T 1 f 计算我需要的内容 但我想将quad 0 T 1 f quad 0 T 2 f quad 0 T 3 f 保存为向量
  • 在本机反应中更新/更改状态对象的最佳方法?

    更新 State 对象深处的嵌套属性的最佳方法是什么 constructor this state someprop quadrangle rectangle width 我想更新矩形对象的宽度 this state quadrangle
  • Xcode 没有嵌入框架部分

    我有问题 我正在尝试在我的 ios xcode 项目中实现 Amazon 框架 并且我还需要将它们添加到 构建阶段 gt 嵌入框架 部分中 但我的 xcode 窗口中没有选项 这是截图 这怎么可能 即使我创建新项目 问题仍然存在 您好 在您
  • 与内联块未对齐(其他元素被推下)

    我正在尝试将小盒子排成一行 这些盒子每个里面有大约 2 个元素 在某些情况下 第一个元素的文本太多 以至于它分成两行 如果发生这种情况 该特殊行中的所有其他块如下所示 长话短说 这是一个例子 http jsfiddle net PMRQ5
  • 如何在 JOptionPane 的 ok 按钮上添加监听器? [复制]

    这个问题在这里已经有答案了 如何在单击 确定 按钮时添加侦听器JOptionPane INFORMATION MESSAGE 我的 JOptionPane 是 JOptionPane showMessageDialog null Your
  • Xbox One 控制器输入到 UWP 应用程序

    我一直在尝试使 Xbox One 控制器与 UWP 应用程序交互 并研究了 Gamepad 类 基于评论中提到的建议 Windows UWP 中对 Xbox One 的控制器支持 https stackoverflow com questi
  • ExecutorService,避免任务队列太满的标准方法

    我在用ExecutorService为了方便并发多线程程序 采取以下代码 while xxx ExecutorService exService Executors newFixedThreadPool NUMBER THREADS Fut
  • EF 7 - 新的 ExecuteDelete 和 ExecuteUpdate 方法不适用于内存数据库

    我正在使用新的 EF 7ExecuteDelete and ExecuteUpdate功能而且它们都很棒 但是当我尝试为使用它们的函数编写单元测试时 这些测试崩溃了 我在 NET Core 7 上使用 EF 7 0 1 Microsoft
  • auto* 的类型推导规则是什么?

    类型推导规则是什么auto 考虑以下 int x 64 int px x auto v1 x auto gt ok v1 is int auto v2 px auto gt is v2 int auto v3 px auto gt is v