检查的保护参数包是否会导致程序格式错误?

2023-11-26

我不止一次(甚至在 SO 上)看到过这样的代码:

template<typename U, typename... G, typename T = Traits<U>>
struct {
    static_assert(sizeof...(G) == 0, "!");
    // ...
};

Or this:

template<typename T, typename... G, typename = std::enable_if_t<condition<T>>
void func(T &&t) {
    static_assert(sizeof...(G) == 0, "!");
    // ....
}

目的是避免用户通过执行以下操作来违反游戏规则:

template<typename T, typename = std::enable_if_t<std::is_same<T, int>>
void func(T &&t) {
    // ....
}

// ...

func<int&, void>(my_int);

使用保护参数包时,无法覆盖默认值。
另一方面,对规模的检查避免了无用参数对专业化的污染。

无论如何,因为[温度资源/8],我们有:

如果出现以下情况,则程序格式错误,无需诊断:
[...]
- 可变参数模板的每个有效特化都需要一个空模板参数包,或者
[...]

那么,包含上述代码片段的程序是否格式错误?


这个“技巧”会导致程序格式错误,无需诊断。

该标准在您引用的部分中清楚地说明了这一点。

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

检查的保护参数包是否会导致程序格式错误? 的相关文章

  • 如何使用MemoryCache代替Timer来触发一个方法?

    以下方法通过等待已运行操作的结果来处理并发请求 对数据的请求可能会使用相同 不同的凭据同时出现 对于每组唯一的凭据 最多可以有一个GetCurrentInternal呼叫正在进行中 当准备就绪时 该呼叫的结果将返回给所有排队的服务员 pri
  • 如何读取扩展文件属性/文件元数据

    因此 我按照教程使用 ASP net core 将文件 上传 到本地路径 这是代码 public IActionResult About IList
  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 如何检查QProcess是否正确执行?

    QProcess process sdcompare QString command sdcompare QStringList args sdcompare command sdcompare diff args sdcompare lt
  • 为 Visual Studio 2013 编译 Tesseract

    我正在尝试使用tesseract在 Visual Studio 2013 中 我在链接器 gt 输入 不是 libtesseract302 static lib 中使用 libtesseract302 lib 一切都正常 并且已编译并运行
  • 将内置类型转换为向量

    我的 TcpClient 类接受vector
  • 在新的浏览器进程中打开 URL

    我需要在新的浏览器进程中打开 URL 当浏览器进程退出时我需要收到通知 我当前使用的代码如下 Process browser new Process browser EnableRaisingEvents true browser Star
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • C# Dns.GetHostEntry 不返回连接到 WiFi 的移动设备的名称

    我有一个 C 中的 Windows 窗体应用程序 我试图获取列表中所有客户端的主机名 下面给出的是 ra00l 来自此链接的代码示例 GetHostEntry 非常慢 https stackoverflow com questions 99
  • 使用 C 语言使用 strftime() 获取缩写时区

    我看过this https stackoverflow com questions 34408909 how to get abbreviated timezone and this https stackoverflow com ques
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • 如何在 Django 模板上使用 if/else 条件?

    我将以下字典传递给渲染函数 源是字符串列表 标题是可能等于源中字符串之一的字符串 title title sources sources 在 HTML 模板中 我想完成以下几行内容 for source in sources tr td s
  • 有人可以提供一个使用 Amazon Web Services 的 itemsearch 的 C# 示例吗

    我正在尝试使用 Amazon Web Services 查询艺术家和标题信息并接收回专辑封面 使用 C 我找不到任何与此接近的示例 所有在线示例都已过时 并且不适用于 AWS 的较新版本 有一个开源项目CodePlex http www c
  • gcc 的配置选项如何确定默认枚举大小(短或非短)?

    我尝试了一些 gcc 编译器来查看默认枚举大小是否很短 至少一个字节 强制使用 fshort enums 或无短 至少 4 个字节 强制使用 fno short enums user host echo Static assert 4 si
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • Server.MapPath - 给定的物理路径,预期的虚拟路径

    我正在使用这行代码 var files Directory GetFiles Server MapPath E ftproot sales 在文件夹中查找文件 但是我收到错误消息说 给定物理路径但虚拟路径 预期的 我对在 C 中使用 Sys
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle

随机推荐

  • 如何重新加载 Rails 3 中的所有 gem?

    有没有办法在不完全重新启动服务器的情况下重新加载 Rails 应用程序中的所有 gem 我有一个 Gemfile 使用 path引用我在同一系统上开发的依赖项 并且必须杀死该应用程序并执行此操作很烦人rails s每次我保存更改时都会再次出
  • VB.NET 和 sizeof

    我正在将一些代码从 C 转换为 VB NET 我在 C 中有以下行 var bytes new byte password Length sizeof char 看着MSDN看来VB NET似乎没有sizeof操作员 我明白有一个Marsh
  • 在 Android 1.5 + 上访问视频和照片

    因此 我尝试允许用户使用此处描述的方法通过我的 Android 应用程序选择特定的媒体 从我的 Android 应用程序中的图片应用程序访问图片 它工作得很好 除了这样一个事实 我似乎只能在视频或照片之间进行选择来向用户展示 而不能同时选择
  • Clojure:列出在命名空间内实现某些协议的所有定义类型

    我有一个协议和几个在一个工作区中实现它的定义类型 如何列出实现以下协议的所有定义类型 我已经找到了从 ns public 过滤数据的解决方案 但我不喜欢它 因为它使用了一些 魔法 来完成工作 因为我还没有找到实现我的目标的正确方法和满足吗
  • 类型“System.Data.Linq.DataContext”是在未引用的程序集中定义的

    问题 转到特定页面时出错 在本地调试中 CS0012 类型 System Data Linq DataContext 是在未引用的程序集中定义的 您必须添加对程序集 System Data Linq Version 4 0 0 0 Cult
  • 长宽比错误的 iTunes Connect 屏幕截图

    在模拟器中拍摄了每种尺寸的屏幕截图 我仅在 4 7 英寸 iphone 6 和 5 5 英寸 iphone 6 Plus 屏幕截图上遇到问题 4 英寸和 3 5 英寸上传没有问题 错误状态 一张或多张屏幕截图的宽高比不正确 有关更多信息 请
  • 预处理器计数器宏

    有没有办法创建一个COUNTER 扩展为每次加一的数字的宏 遵循 C 11 14 标准 COUNTER 被调用 我想过 但找不到让它发挥作用的方法 我没有找到一种方法来存储 状态 COUNTER macro Example define C
  • 查看链接服务器依赖关系sql server 2008

    有谁知道如何 是否可以查看依赖于 Sql Server 2008 中链接服务器的所有表 视图 存储过程 基本上就像链接服务器可以访问上下文菜单 查看依赖项 一样 非常感谢任何帮助 Thanks 搜索它 SELECT OBJECT NAME
  • is_file 与 file_exists 的性能以及 PHP 中的缓存?

    我做了一些测试来比较和测量这两个函数的速度 is file似乎比这快几倍 我都使用了 10000 次迭代 文件已存在 我想知道 PHP 或操作系统是否为这些功能使用一些缓存 或者总是访问 HDD 我想不会 但我想知道 我使用了这段代码
  • Google CoLab - 如何运行 CoLab 环境“文件”选项卡(即 /content/)中的 jupyter 笔记本文件

    在 Google CoLab 中 左侧是一个可以打开的窗格 其中显示Table of Contents Code snippets and Files 在里面Files窗格中有一个上传按钮 我可以将笔记本文件上传到此Files区域 但是 一
  • 如何在 MATLAB 中将两个图例添加到单个图中?

    我想在 MATLAB 中的绘图中添加两个图例 我怎样才能做到这一点 您可以创建第二个叠加轴 并带有自己的图例 当然在不同的位置 EDIT 这是一个简单的例子 create some plot with a legend hAx 1 axes
  • 返回一行中正则表达式搜索的第二个实例

    我有一个文件 其中包含特定的感兴趣行 例如第 12 行 如下所示 conform 244216 packets exceed 267093 packets 我编写了一个脚本来通过正则表达式提取第一个数字并将该值转储到新文件中 getexce
  • 如何使用 Phonegap 打开 Twitter 和 Facebook 应用程序?

    我正在尝试使用我的 PhoneGap 应用程序链接来打开 Twitter 应用程序中的特定用户个人资料页面 我知道并不是每个人的设备上都安装了 Twitter 应用程序 所以如果他们没有安装 我想将他们发送到 Play 商店下载 问题是 每
  • Python 字典中键的多个值

    我想做的是将键中的 3 个值获取到单独的变量中 目前我正在这样做 for key in names posX names key 0 posY names key 1 posZ names key 2 尽管它有效 但对我来说似乎不太直观 我
  • Rapidjson 提取键和值

    我试图提取数组中对象的键和值 但找不到正确的 getter for Value ConstValueIterator itr document params Begin itr document params End itr for Val
  • 我应该考虑 memmove() O(n) 还是 O(1)?

    这可能是一个愚蠢的问题 但我想计算我的一种算法的复杂性 并且我不确定要考虑什么复杂性内存移动 功能 你能帮忙 解释一下吗 void memmove void destination const void source size t num
  • Angular:如何使链接跳转到同一页面中的某些部分

    我想要一个锚链接使用 id 标签跳转到同一页面中的特定部分 这是我的html div class nav container ul class nav text center li class active a href account s
  • JDK8中ConcurrentHashmap代码解释

    我一直在尝试理解 JDK8 中的 ConcurrentHashMap 函数 与 JDK7 中的函数相反 除了源代码之外 还可以找到一些好人 例如 Richard 对其进行了很好的解释http www burnison ca articles
  • WPF Datagrid 对包含 null 元素的列进行排序

    我有一个 WPF 数据网格 正在使用多个列 其中一列的一些元素有时为空 当我尝试对此列进行排序时 这会导致异常 列的定义类似于
  • 检查的保护参数包是否会导致程序格式错误?

    我不止一次 甚至在 SO 上 看到过这样的代码 template