为什么一元 * 运算符没有“操作数不得是指向 void 的指针”的约束?

2023-12-08

C2x,6.5.3.2 地址和间接运算符,约束,2:

一元 * 运算符的操作数应为指针类型。

为什么没有“操作数不能是指向的指针”的约束void"?


虽然可以从以下推论:

C2x,6.5.3.2 地址和间接运算符,语义,4:

The 一元 * 运算符表示间接。如果操作数指向函数,则结果是函数指示符;如果它指向一个对象,结果是一个左值指定对象。

C2x,6.3.2.1 左值、数组和函数指示符,1:

An lvalue是一个表达式(带有除 void 之外的对象类型) 可能指定一个对象; ...


One possible(虽然有些人为,但我承认)添加“建议”约束会破坏代码的情况是& and *运算符被连接起来。在这种情况下,可以使用诸如a = &*p, where p is a void* type, is允许。

From 本标准草案, 立即地按照您的第一个引文中的部分(粗体强调我的):

语义学
3     一元&运算符产生其地址 操作数。如果操作数的类型为“type”,则结果的类型为 “指向类型的指针”。如果操作数是一元的结果*运算符,既不是该运算符也不是&运算符被评估结果就好像两者都被省略了,除了 对运营商的限制仍然适用结果不是 左值。 ……

目前我无法想到它的用例&*组合(在void*或任何其他指针类型) - 但它may发生在“自动生成”和/或使用条件宏扩展的代码中。

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

为什么一元 * 运算符没有“操作数不得是指向 void 的指针”的约束? 的相关文章

  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 重载<<的返回值

    include
  • 如何序列化/反序列化自定义数据集

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

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • python:将二维字符串列表转换为浮点数

    我有一个字符串类型的二维列表 我正在尝试将其转换为 int 到目前为止我尝试过的事情 float i for i in lst j for j in lst 用 for 循环 for i in range len lst for j in
  • 将 YUV420SP 转换为 YUV420P

    如何使用 ffmpeg sws scale 或其他有效方法将 YUV420SP 转换为 YUV420P 如果您使用 ffmpeg 中的 swscale lib 以下代码可能会对您有所帮助 static struct SwsContext s
  • x86 程序集中的.data 部分

    我正在尝试学习汇编语言 但无法理解通过 data 部分声明全局变量的概念 当您在 data 部分声明变量时 汇编器 链接器会将其映射到内存位置 但它如何知道编译源代码时可用的空闲内存 如果内存分配是在运行时完成的 那么程序如何知道在哪里分配
  • 保留 data:text URI 中的换行符

    我的扩展程序中有一个按钮可以触发以下代码 chrome tabs create url data text base64 btoa data active false 正如我所料 这会触发我的字符串 数据 的下载 不幸的是 它似乎正在删除换
  • Javascript 简单的 onclick 图像交换

    我正在尝试使用 Javascript 来交换图像 到目前为止我可以将其从 A 获取到 B 但不能返回 这是我用来创建一个交换的内容 img src pic1 png 这会将图像 1 替换为图像 2 非常简单 但我希望能够通过单击新图像 2
  • 如何在nodejs中使用Puppeteer从浏览器剪贴板复制文本

    有没有一种方法可以让我在 Node js 中使用 Puppeteer 从浏览器剪贴板复制内容 我正在尝试复制页面呈现后的内容 这是通过以下代码实现的 但无法获取内容 await page keyboard down ControlLeft
  • 如何限制班级成员只能进入另一个班级

    我想访问以下班级成员Class1来自另一个班级 Class2 但我想仅从该类访问它并禁止从任何其他类 表单等访问它 有什么方法可以做到这一点吗 执行此操作的唯一方法是嵌套类 然后将数据设为私有 public class Class1 pri
  • 将 nvarchar 列作为整数排序

    我在 nvarchar 列 单词和数字 中有混合数据 这是按数字顺序对该列中的数据进行排序的最快方法 结果示例 1 2 3 10 11 aaaa aaab b ba ba 用这个 ORDER BY CASE WHEN ISNUMERIC c
  • 我什么时候应该使用 CompletionService 而不是 ExecutorService?

    我刚刚找到 CompletionService这篇博文 然而 这并没有真正展示 CompletionService 相对于标准 ExecutorService 的优势 可以用任何一个编写相同的代码 那么 CompletionService
  • 为什么删除“any”时这个表达式总是为真?

    我对 任何 语法有一些问题 我有两个清单 mainseq hali hulu habi seq a b c d 我想查找是否有元素seq存在于mainseq for each in seq if any each in halum for
  • Dplyr:同时汇总组和整个数据

    我正在计算大型数据框中许多变量的汇总统计数据 它有 130 个变量 我想计算汇总统计数据每十年以及我所有的数据 我想避免写两次summary 一次用于分组 一次用于完整数据 我也使用summarise at 所以我的问题也适用于summar
  • XMLHttpRequest.responseText 调用 URL 时不写入值

    我的代码中可能有一个小错误 请给我建议 我想调用一个 URL 并在页面加载时显示 div 中的值 我从 SO 编写了这段代码 但responseText没有在div元素的innerhtml中写入值 Code
  • 如何使用 pandas 将 csv 列读取为 dtype 列表?

    我有一个包含 3 列的 csv 文件 其中第 3 列的每一行都有值列表 从下面的表结构可以看出 Col1 Col2 Col3 1 a1 Proj1 Proj2 2 a2 Proj3 Proj2 3 a3 Proj4 Proj1 4 a4 P
  • 如何在iphone sdk中设置音频文件或录制的音频文件的音高?

    我正在重新编码文件 或者我有音频文件 我想更改音高并播放音频文件 如何在使用 Objective C 的 iPhone 程序中设置音调 请帮助我摆脱这个困境 谢谢你 马丹 莫汉 简单的方法是使用与记录文件所用的采样率不同的采样率来播放它 例
  • $q defer 和 Promise 以及如何使用它们在渲染视图之前为控制器加载数据

    这是我发现的最相关的事情 https stackoverflow com a 11972028 110233 当我只想返回一个东西时 它似乎工作得很好 但是当其他东西依赖于第一件事时 我不确定如何返回多个东西 由于这有点迟钝 这里有一个关于
  • JavaScript - 如何将 onload 函数内定义的变量取出?

    我想获取html页面中的所有输入元素 我试过这个 window onload function input document querySelectorAll input 但是 当我用外面的警报功能检查它时onload 它没有做任何事情 a
  • Spring Data Gemfire 定位器

    我正在尝试使用 Spring Data Gemfire 设置 Gemfire 集群 我可以开始一个locator via gfsh我可以开始server通过春天 问题是 我找不到启动的方法locator通过春天 也许最简单 最简单的方法是在
  • 删除单个产品选项卡并添加相关内容 在 Woocommerce 中

    我有一个客户想要将 WooCommerce 中单个产品页面选项卡中默认的信息提取到页面上的不同位置 并完全删除选项卡 共有三个默认产品选项卡 产品描述 附加信息 和评论 删除选项卡并设置要显示的描述很容易设置 wp content plug
  • 如何对放置在详细信息带中的子报表返回的值求和?

    I have a report and a subreport that basically prints this 这是主要报告的代码
  • 为什么一元 * 运算符没有“操作数不得是指向 void 的指针”的约束?

    C2x 6 5 3 2 地址和间接运算符 约束 2 一元 运算符的操作数应为指针类型 为什么没有 操作数不能是指向的指针 的约束void 虽然可以从以下推论 C2x 6 5 3 2 地址和间接运算符 语义 4 The 一元 运算符表示间接