static_casting 的结果是 constexpr void* 常量表达式吗?

2023-12-31

clang 拒绝 gcc 允许的这段代码:

int main() {
    static constexpr const void *vp = nullptr;
    static constexpr const char *cp = static_cast<const char*>(vp);
}

具有以下内容:

error: constexpr variable 'cp' must be initialized by a constant expression
  static constexpr const char *cp = static_cast<const char*>(vp);

阅读最终列表后N3797 https://isocpp.org/files/papers/N3797.pdf5.9/2 我没有看到任何禁止的内容static_cast在常量表达式中的使用。我是不是看错地方了或者误读了什么?或者我应该针对 clang 打开一个错误?


好吧,C++14 标准(以及您的(非最终)草案!)要求这样做

A 条件表达式 e是一个核心常量表达式,除非 的评价e,遵循抽象机的规则 (1.9),将计算以下表达式之一:

— 类型的转换cv void *指向对象的指针类型;

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

static_casting 的结果是 constexpr void* 常量表达式吗? 的相关文章

  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 如何在运行时动态创建控件

    我试图根据正在查看的特定工作表上的列数在 Excel 用户窗体中创建可变数量的控件 组合框 理想情况下 我想在运行时删除现有的并创建新的 而不是创建 100 个左右 然后在可见和不可见之间来回切换 我现在所拥有的将创建一个组合框和循环 但它
  • 已在 StoreKit 中购买订阅

    我在 iOS 应用程序的应用程序购买中使用可更新订阅 当用户尝试购买已付款的订阅时 iTunes 会显示一条消息 您当前已订阅此内容 我如何检测此事件何时发生 以便我可以处理交易并授予对我的应用程序的访问权限 在观察者的 paymentQu
  • 将 IS 上的所有 DTS 包导出到文件系统的脚本

    是否有一个脚本可以将 Integration Services 服务器上的所有 DTS 包导出到一个文件系统路径 即 C DTSPackages 目前 如果脚本存在 右键单击 选择导出 选择文件系统的任务似乎有些多余 但我发现的只是显示存在
  • 当我们有复合索引时,是否需要普通的MySql索引

    我们的 MySql 表有 2500 万行 以下是表中的列 c id c name s id l type l time message domain 其中 我们在 c id c name s id l type domain 列上有正常索引
  • 暴露 net.tcp 端点

    我对如何在 WCF 中公开端点有点困惑 我有一个 tcp 端点和一个 mex tcp 端点
  • 如何使用 jQuery 在页面加载时关注表单输入文本字段?

    这可能非常简单 但是有人可以告诉我如何在页面加载时让光标在文本框上闪烁吗 将焦点设置在第一个文本字段上 input text visible first focus 这也执行第一个文本字段 但您可以将 0 更改为另一个索引 input ty
  • 无法运行 H2o 功能

    我能够很好地安装 h2o 在 R 中 但是当我运行 h2o init 时出现以下错误 h2o init H2O 尚未运行 现在开始 值错误 3L 您有 32 位版本的 Java H2O 在 64 位 Java 上运行效果最佳 请从以下网址下
  • 使用 BS4“lxml”抓取 XML 数据

    尝试解决与此非常相似的问题 使用 beautifulsoup 抓取 XML 元素属性 https stackoverflow com questions 37968565 scraping xml element attributes wi
  • AngularJS Masonry 用于动态改变高度

    我有点击时会展开和收缩的 div Masonry 库对于初始化页面非常有效 我遇到的问题是 通过 Masonry 和下面的指令进行绝对定位 当 div 展开时 它们会与下面的 div 重叠 我需要将扩展 div 下面的 div 向下移动以处
  • 我可以在 Jquery 中组合变量和选择器吗?

    假设我有这个 HTML div class top top div class middle middle div class bottom bottom div middle div top div div class middle ou
  • 是否有 Android 测试服务可以用来为我提供来自设备的真实调试信息? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • .Net矩阵[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • jQuery UI Datepicker:对齐下面的标签问题

    http jsfiddle net r7D2x http jsfiddle net r7D2x 我正在尝试在标签上使用 jQuery Datepicker span 而不是输入字段 这是代码 javascript placeholder d
  • 无法使用 Python/opencv 关闭/打开 CameraCapture:设备或资源繁忙

    当我尝试使用 Python 重新打开 opencv Camera Capture 时 我得到 libv4l2 error setting pixformat Device or resource busy HIGHGUI ERROR lib
  • rvm在centos 5.5上安装1.8.7-head错误

    我在 CentOS 5 5 上以 root 身份成功安装了 rvm 然后我尝试安装 ruby 1 8 7 head rvm 安装 1 8 7 head 并收到这样的错误 将 Ruby 从源代码安装到 usr local rvm rubies
  • 未找到 vtkRenderer/ vtkRenderWindow 的覆盖

    我是 vtk 的新手 当我运行一个小示例时 它会生成两个错误 找不到 vtkRenderer 的覆盖 找不到 vtkRenderWindow 的覆盖 我用谷歌搜索了这个问题 但找不到合适的解决方案 当我尝试在没有 CMake 的情况下创建
  • python 只记录到文件

    我有一个运行 python 脚本的 cronjob 我添加了一个logging但由于这是一项日常工作 我每天都会收到有关其功能的电子邮件 这真的很烦人 但我似乎找不到一个设置 这将使其仅记录到日志文件中 usr bin python imp
  • 使用“__dict__”或“vars()”?

    内置功能vars 对我来说看起来更像Pythonic 但我明白了 dict 使用更频繁 Python 文档表明它们是等效的 一位博主声称 dict 比vars http pythondoeswhat blogspot com 2012 01
  • 从 Bash 函数返回布尔值

    我想编写一个 bash 函数来检查文件是否具有某些属性并返回 true 或 false 然后我可以在我的脚本中的 if 中使用它 但我应该返回什么 function myfun return 0 else return 1 fi 然后我像这
  • static_casting 的结果是 constexpr void* 常量表达式吗?

    clang 拒绝 gcc 允许的这段代码 int main static constexpr const void vp nullptr static constexpr const char cp static cast