用户定义的文字参数中的初始值设定项列表

2023-11-27

我不知道这是否可能,但我想做类似的事情

int someval = 1;
if({1,2,3,4}_v.contains(someval ))

但是当我尝试将文字定义为:

std::vector<int> operator"" _v ( std::initializer_list<int> t )
{
    return std::vector<int> (t);
}

接受我得到的整数初始化列表

 error: 'std::vector<int> operator"" _v(std::initializer_list<int> t)' has invalid argument list

有没有办法做到这一点?我真正想要的是最终摆脱类似的东西

if(value == 1 || value ==2 || value == 3 ...

不得不写这样的东西真的很烦人,因为你期望语法是

if value in (value1, value2 ...) 

或类似的东西。


这个怎么样:

#include <initializer_list>

template <typename T>
bool contains(std::initializer_list<T> const & il, T const & x)
{
    for (auto const & z : il) { if (z == x) return true; }
    return false;
}

Usage:

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

用户定义的文字参数中的初始值设定项列表 的相关文章

  • 如何确保我们读取 boost::child 进程中的所有行

    我在上面看到了下面的代码boost child文档页面 其中解释了如何读取子进程的输出 http www boost org doc libs 1 64 0 doc html boost process tutorial html http
  • 如何将位写入文件?

    如何使用 c net 将位 而不是字节 写入文件 我很坚持它 Edit 我正在寻找一种不同的方法 将每 8 位写为一个字节 一次可以写入的最小数据量是一个字节 如果您需要写入单独的位值 例如 二进制格式需要 1 位标志 3 位整数和 4 位
  • 从数据表中删除列

    我有一个包含 20 列的数据表 但我不需要当前处理的所有列 除了 5 列 所以我执行了以下操作来删除列 List
  • xamarin.forms 从 xaml 到属性的绑定

    我是一个 xaml 绑定的新手 有时我真的不明白 我的 xaml 中有这个
  • 为什么 XRecordDisableContext() 不起作用?

    void Callback XPointer XRecordInterceptData pRecord std cout lt lt my logs n int main if auto const pDisplay XOpenDispla
  • 关于结构的警告 C26495?

    过去一两年我一直在使用 C NET 但正在为客户更新旧的 C MFC 应用程序 我知道自从我上次使用 C 以来发生了很多变化 但这件事让我感到震惊 我有以下结构 typedef struct FILTERINFO int nCustomer
  • fgetc 无法识别 EOF [重复]

    这个问题在这里已经有答案了 下面的程序在各种 Solaris Linux 版本上运行良好 但在 AIX 上运行不佳 但是 如果我更换while c EOF with while c 0xff 在 AIX 上它运行得很好 有什么想法吗 我检查
  • 游戏网络射弹实施/概念问题[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在尝试找到某种解决方案来解决同步射弹射击和游戏网络的常见问题 但我不确定什么是最合适的 这是一款 2D 动作横向卷轴游戏 带有多个射弹 没有即时攻
  • size_t 是否足够大以表示任何类型的大小? [复制]

    这个问题在这里已经有答案了 Is size t保证足够大来表示任何类型的大小 根据this https en cppreference com w c types size t参考 size t可以存储理论上可能的对象的最大尺寸 任何类型
  • 用于打印的真实尺寸 WPF 控件

    我目前正在开发一个应用程序 用户可以在画布上动态创建 移动 TextBlock 一旦他们将文本块放置在他们想要的位置 他们就可以按下打印按钮 这将导致 ZPL 打印机打印当前显示在屏幕上的内容 ZPL 命令是通过从每个 TextBlock
  • 是否有在 std 容器中使用 unique_ptr 的透明方法?

    有没有透明的使用方式std unique ptr在容器中 include
  • 在 C++ 中将浮点值作为数组中的索引

    浮点值可以用作数组的索引吗 如果用作索引的表达式生成浮点值 会发生什么情况 float 值将被转换为 int 根据编译器的警告级别 它可能会给出警告或错误 s1 q 12 2 same as q 12 s2 q 12 999999 same
  • 在opencv中将三个灰度[R,G,B]图像合并为单个彩色图像

    我有 3 个使用 split 函数创建的灰度图像 现在我想重新生成彩色图像 我尝试了以下代码 但它不起作用 我得到的结果图像仍然是灰度的 cv Mat R cv imread home r secret R png 0 cv Mat G c
  • 为什么检查 SynchronizationContext 是否为 null?

    InstallIfNeed方法 http referencesource microsoft com System Windows Forms winforms Managed System WinForms WindowsFormsSyn
  • 如何可靠地判断 boost 线程是否已退出其 run 方法?

    我以为 joinable 会表明这一点 但事实似乎并非如此 在工人阶级中 我试图表明它仍在通过谓词进行处理 bool isRunning return thread gt joinable 已经退出的线程不是不能加入吗 我错过了什么 boo
  • 使用 Clang 将 C++ 转换为 C 代码

    我知道llvm可用于将c 转换为c代码 我想知道是否clang可以做同样的事情 看成clang源自llvm 那么我可以使用clang将c 代码转换为c代码 如果你想知道我为什么要这样做 这是我的场景 PIC是一家微控制器制造商 不生产C 编
  • IIS / .Net 只允许对给定用户会话进行单个并发响应

    这是我的问题 我们有一个 Net 4 5 Web 表单应用程序 由于服务器端的大量数据访问和操作 应用程序中的某些页面需要很长时间才能加载 如果用户在页面完成加载之前关闭浏览器选项卡 然后打开新选项卡 则新选项卡中对应用程序的任何请求都将挂
  • 调用服务时Request.InputStream为空

    我正在开发 ASP NET 4 5 应用程序 并且遇到了一个非常烦人的问题 迁移到 VS2012 后我们遇到了同样的问题here https stackoverflow com questions 12391586 visual studi
  • 如何在 Code::Blocks 中启用 C 自动完成?

    如何在 Code Blocks 中启用 C Std lib 函数自动完成 转到 设置 gt 编辑器 gt 代码完成和符号浏览器 并确保未选中 禁用代码完成
  • 从 C# 2.0 中的 dll 获取命名空间、类名

    我将动态获取dll 我需要加载 dll 并获取命名空间 类名来调用方法 方法名称是静态的 它将始终为 OnStart 基本上我需要通过加载 dll 来运行一个方法 有人可以帮忙吗 要加载程序集 您可以这样做 Assembly assembl

随机推荐

  • php邮件的smtp配置

    我使用 php 邮件功能从我的网站发送邮件 但现在它不起作用 我联系了我们的托管团队 然后他们告诉我使用 smtp 因为他们对服务器做了一些更改 我不知道该怎么做 当前代码 带有 php 邮件功能 如下 任何人都可以帮助我进行与此相关的更改
  • Go 闭包在内存中是如何布局的?

    有关闭包的一般解释 请参见JavaScript 闭包如何工作 Go 闭包到底是如何在内存中布局的 以以下函数为例 type M int func m M Adder amount int func return func m m amoun
  • FileHelpers 和 CSV:当记录可以无限水平扩展时该怎么办

    我正在尝试使用 FileHelpers 解析这种类型的 CSV 文件 Tom 1 2 3 4 5 6 7 8 9 10 Steve 1 2 3 Bob 1 2 3 4 5 6 Cthulhu 1 2 3 4 5 Greg 1 2 3 4 5
  • 使用 Scikit Learn 的 DictVectorizer 时出现 toarray 内存错误

    我正在尝试对我的数据实施 SelectKBest 算法 以从中获得最佳功能 为此 我首先使用 DictVectorizer 预处理数据 该数据由 1061427 行和 15 个特征组成 每个功能都有许多不同的值 我相信由于高基数我遇到了内存
  • java 电话号码验证

    这是我的问题 为电话号码创建一个构造函数 给定本地号码的 xxx xxx xxxx 或 xxx xxxx 形式的字符串 如果格式无效 则抛出异常 所以我想使用正则表达式来验证它 但我不知道我做得是否正确 另外我必须抛出什么样的异常 我需要创
  • Gitlab 屏蔽变量

    我似乎无法屏蔽 Gitlab CI 上的变量 我正在尝试上传 ssh 私钥 但无论我做什么 它都拒绝屏蔽它 那是我正在尝试存储私钥在 Gitlab 上供我的生产服务器拥有公钥的 Gitlab 运行程序使用 我不是问如何在构建过程中将其介绍给
  • 詹金斯作业重启后消失

    我在 Jenkins 1 5 31 中遇到这个奇怪的问题 我已经配置了 Maven 作业 我仍然在 Jenkins Home 目录中看到它 尽管我仍然可以通过默认端口 8080 访问 Jenkins 但我的 Jenkins Windows
  • 如何在gdb中打印-0x4(%rbp)?

    反汇编中有这样的代码 movl 0x6 0x4 rbp 我尝试以这种方式打印该值但失败 gdb p 0x4 esp A syntax error in expression near esp gdb p 0x4 esp Argument t
  • 为什么我的dispatch_once会陷入僵局?

    为什么我会陷入僵局 void foo static dispatch once t onceToken dispatch once onceToken self foo whatever 我预计foo第一次调用时执行两次 现有的答案都不是很
  • MCrypt rijndael-256 到 OpenSSL aes-256-ecb 转换

    由于 Mcrypt 已被弃用 我想在代码中使用 OpenSSL 因为我们已经在服务器中使用 php 7 2 4 我使用以下代码进行加密 解密 加密 function encrypt text salt if text return if s
  • 增加 EWS 流订阅连接的生命周期元素

    使用 Microsoft 的 EWS 我们能够监听邮箱并在收到新电子邮件时采取行动 但是 我不知道如何避免连接超时 根据 Microsoft 的说法 以下是 StreamingSubscriptionConnection 的构造函数 pub
  • django模板系统,调用模型内的函数

    我想在模板中调用模型中的函数 例如 class ChannelStatus models Model def get related deltas self epk mystring if not self get error code d
  • 将信息从 Chromium Embedded (Javascript) 发送到包含 C++ 的应用程序

    查看 Chromium 嵌入式框架示例后 我有一个问题 我需要与窗口的嵌入部分进行本机交互 然而 在 CEF 示例中 我看到的只是 c 向浏览器发送消息 而不是相反 我想知道是否有任何方法可以从 JavaScript 从 C 发送消息 就像
  • R 将因子 ID 变量转换为数字 ID 变量

    我对 R 编程有疑问 在花了几个小时查看互联网和 Stack Overflow 上的潜在响应后 我不知道如何解决它 我在 data frame 的一列中有一个因子变量 如下所示 Columnname agsgssg agsgssg agsg
  • 将设备中的磁场 X、Y、Z 值转换为全局参考系

    当您使用 TYPE MAGNETOMETER 传感器时 您将获得与设备方向相关的磁场强度的 X Y Z 值 我想要得到的是将这些值转换为全局参考系 澄清 用户拿起设备 测量这些值 然后将设备绕任何轴旋转一定角度并获得相同的值 请在下面找到类
  • 如何找到数组中至少重复N/2次的元素?

    给定一个包含 N 个元素的数组 我们知道其中一个元素至少重复 N 2 次 我们对其他元素一无所知 它们可能是重复的 也可能是唯一的 有没有办法找出单次重复至少 N 2 次或者可能是 O N 的元素 无需使用额外空间 由于其他用户已经发布了该
  • scikit-learn 中的分层训练/测试分割

    我需要将数据分为训练集 75 和测试集 25 我目前使用下面的代码来做到这一点 X Xt userInfo userInfo train sklearn cross validation train test split X userInf
  • 将 thunk 传递给 puppeteer 的 $.eval

    功能setValue接收一个值并返回一个函数 在第二个函数中 我试图控制台记录以下值value但我得到 Error Evaluation failed ReferenceError value is not defined 我的代码如下 可
  • C 定义的值意外更改

    我有很多 define在我的代码中 现在 一个奇怪的问题出现了 我有这个 define ImmSign 010100 我正在尝试模拟一个二进制数 显然 我期望这个数字变成10100 但是当我使用这个数字时 它已经变成了4160 这里发生了什
  • 用户定义的文字参数中的初始值设定项列表

    我不知道这是否可能 但我想做类似的事情 int someval 1 if 1 2 3 4 v contains someval 但是当我尝试将文字定义为 std vector