std-variant 相关问题


有什么优雅的方式来结合 asio::co_composed 和 std::variant 吗?

问题 我想处理具有相同签名成员函数的连接类。例如,tcp 和 tls 都是连接类。他们有 send() 成员函数模板,支持...


C++ 将 std::chrono::utc_clock 格式化为毫秒

我使用以下行来获取毫秒精度的时间: std::stringstream s; std::chrono::time_point TimeTag = time_point_cast(std::


是否可以从zoned_time获取time_point?

我尝试在 std::string 中有选择地获取当地时间/UTC。 我尝试过的: (1) 获取 UTC 的 std::string 使用 std::format 可以正常工作: 自动 utc = std::chrono::system_clock::now(); std::字符串...


gcc-12/13:仍然找不到 std::stacktrace

我有这个代码: #包括 #包括 int 嵌套函数(int c) { std::cout << std::stacktrace::current() << '\n'; return c + 1; } int func(int ...


释放函数体内std::function的内存

我需要将 std::function 作为 void 指针传递以异步执行,因此我在堆上创建了一个 std::function 。删除函数体内的 std::function 对象是否安全?请看...


如何使用 std::move_iterator 从向量中删除元素?

这是一个 Josephus 排列问题,它是通过使用 std::move() 解决的,但现在我必须切换到使用 std::move_iterator (通过使用 std::make_move_iterator()) 但是,这不能编译:


我无法理解C2665错误(VS 2017 / 15.9.58)

已解决 我在 Visual Studio 2017 (15.9.58) 上遇到重载函数问题: 使用 GrayScalePixel = std::uint8_t; 结构体PgmImage { std::uint16_t 宽度; std::uint16_t 高度; ...


使用 tokio::spawn 函数未执行

这段代码: 使用 std::thread::sleep; 使用 std::time; 使用 std::sync::atomic::{AtomicU32,排序}; 使用 tokio::time::Duration; 静态REQUEST_RECV_V2:AtomicU32 = AtomicU32::new(0); 异步 fn no_msg_p...


std::ranges::range 指定类型

目前,我有以下代码: 布尔检查(初始化列表) 我想用 std::ranges::range 替换它。 布尔检查(std::ranges::range auto &) 问题:我怎样才能...


为什么将operator()作为std::function调用不起作用

考虑这个旨在收集字符串序列的小类: 班级问题_t期末 { 私人的: std::vector m_issues; 民众: constexpr void 运算符()(std::string&a...


std::inplace_merge 的复杂性

所以我有两个排序向量,我想将它们合并为一个排序向量而不使用额外的向量。 由于存在这种情况,我无法使用 std::merge,所以我尝试了 std::inplace_...


有没有办法在有条件的情况下隐藏v-data-table中的展开按钮?

借助 v-data-table 中的“show-expand”属性,展开按钮会显示在数据表的所有行中。 借助 v-data-table 中的“show-expand”属性,展开按钮会显示在数据表的所有行中。 <v-data-table :expanded.sync="expanded1" :headers="headers1" :items="items" show-expand class="elevation-1" > 有没有办法根据 Vuetify 3 中的条件进行渲染? 在 Vuetify 2 中,使用 item.data-table-expand 插槽来实现此目的。 <template #item.data-table-expand="{ item, expand, isExpanded }"> <td v-if="item?.versions?.length > 0" class="text-start"> <v-btn variant="text" density="comfortable" @click="expand(!isExpanded)" class="v-data-table__expand-icon" :class="{ 'v-data-table__expand-icon--active': isExpanded }" > <v-icon>mdi-chevron-down</v-icon> </v-btn> </td> </template> 但是,在 Vuetify 3 中使用相同的代码块会返回类型错误: Uncaught TypeError: expand is not a function expand 现在是 toggleExpand 并期望 internalItem 插槽道具 <template #item.data-table-expand="{ item, internalItem, toggleExpand, isExpanded }"> <td v-if="item?.versions?.length > 0" class="text-start"> <v-btn variant="text" density="comfortable" @click="toggleExpand(internalItem)" class="v-data-table__expand-icon" :class="{ 'v-data-table__expand-icon--active': isExpanded }" > <v-icon>mdi-chevron-down</v-icon> </v-btn> </td> </template>


C++ std::array 迭代器保证是类似指针的吗?

我有一个 C++ 数组。 std::array arr { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 我想反转最后五个元素,最终得到 { 0, 1, 2, 3, 4, 9, 8, 7, 6, 5 }。我知道 std::array 给出...


如何正确使用std::locale::global?

我正在使用一个调用 std::locale:global 的库来保存和恢复 C++ 区域设置。 但是 std::locale::global 设置 C++ 语言环境设置和 C 语言环境设置,如这个漂亮的用户 gui 中所述...


为什么当另一个线程释放信号量时无法立即获取信号量?

这是代码: #包括 #包括 #包括 #包括 std::binary_semaphore sema{ 1 }; int main() { std::线程 th([] { ...


为什么 std::sleep_for(std::chrono::hours::max()) 在 Linux 上立即返回?

我正在运行一个提供服务的 C++ 程序,并注意到即使不提供任何请求,它也会占用 100% 的 CPU。我将问题缩小到一个 while 循环,该循环调用 std::sleep_...


std::remove 是否保留删除的元素,或者它们是否可以被覆盖?

int main() { std::vector v(10, false); v[0] = 真; v[1] = 真; auto end_it = 删除(v.begin(), v.end(), true); 对于 (int i = 0; i < v.size(); ++i) cout << ...


这里是否误报:警告C4172:返回局部变量或临时变量的地址?

在以下代码中: #包括 #包括 模板 类索引{ 民众: const std::string& 文本; const std::向量&...


错误:没有匹配的函数可用于调用 'std::tuple<std::vector<int, std::allocator<int> >&, int>::tuple()'

嘿,我通常使用 Javascript 和 dart,但我被要求为某些项目用 C++ 编写一些代码,所以我在编写代码时遇到了很多问题。我遇到过这个错误


std::enable_if_t typedef 替换不等效

我经常为类创建一个 this_type typedef 以缩短成员函数签名。 然而,我在使用 std::enable_if_t 时遇到了这个奇怪的情况。 #包括 #包括 #


为什么我可以使用模板函数作为 std::sort 的参数,但不能使用模板 lambda(使用成员函数 ptr 作为模板参数)[重复]

抱歉标题很长,正如我所说的,这是有效的: 结构体 S { int a{}, b{}; }; std::ostream & 运算符<<(std::ostream &o, const S &s) { return o << '{' << s.a << '...


memory_order:获取/释放反转模式

可能很蠢,但与其被问到,不如后悔一辈子。 std::atomic::load 和 std::atomic::store 的标准模式是 像这样的东西 注意:假设在所有前...


为什么将迭代器 '(vector<int> a).begin()' 传递给参数 'vector<T>::iterator b' 时无法推断 'T' 的类型?

有以下代码: 模板 void test(const typename std::vector::iterator &i){ } int main(int argc, char **argv) { std::向量 a; 测试(a.


将数组转换为HashMap的更简单方法

下面的代码会将数组中每种颜色的最大值转换为hashmap。也在 Rust 游乐场。 使用 std::collections::HashMap; 使用 std::cmp; fn 主() { 让数组= [ ...


如何限制lambda参数的参数只能是引用?

我正在尝试设计一个像这样的简单函数: 无效绘制(回调回调) { 绘图绘图(“名称”); 回调(绘图); std::cout << drawing.name() << std::e...


为什么 std::apply 使用函数模板会失败,但使用具有显式模板参数列表的 lambda 表达式却不会失败? [重复]

在查看 cpprefrence 中的 std::apply 引用时,我们可以看到函数模板不能作为 std::apply 的可调用对象传递。让我们考虑以下函数模板: 模板<


指向 std::vector 的指针作为输出参数

我将一个指向向量的指针作为函数中的输出参数,我不知道这是否是最佳实践: 状态接口::method(const std::vector** outVec); 我正在写...


在 Zig 中的编译时改变全局数组

我正在尝试构建一个“静态”数据数组,并继续与编译时/运行时失败作斗争。这是我正在尝试的精简版本: const std = @import("std"); 变种


给定一个索引列表,如何从 std::vector 中删除这些元素?

我先描述一下更高层次的目标。我有一个布尔值矩阵(我使用 std::vector> 作为表示)。 我想删除整行所在的所有行...


filesystem::copy 返回无效参数,但参数是现有的 fs::path 变量

我正在使用 std::filesystem (fs) 库处理项目中的文件。我存储为 fs::path 变量的所有路径。我的代码是: int main(){ std::filesystem::path root_dir = "/home/xyz/study/


std::rotate 向右旋转给我带来堆溢出

我正在尝试解决这个leetcode问题,我应该对向量执行k个位置的右旋转。由于 std::rotate 进行左旋转,我尝试使用反向迭代器来适应...


CPP std::thread 尝试使用已删除的函数

首先,我想说我已经对这个主题进行了研究,但没有任何相关...... (使用 clang 在 Mac OS X 上创建 std::thread 时出错:“尝试使用已删除的函数”...


确保 std::vector 始终对齐以实现最佳 SIMD 执行的方法?

我想要 X 数量的相同大小的 std::vectors,我可以在 for 循环中一起处理它们,该循环以线性方式从开始到结束。例如: 对于 (int i = 0; i <


正在使用std::tuple来实现运算符<, = etc. efficient and correct?

我发现我最近经常使用 std::tuple 来实现排序、相等运算符,如下例所示。这是一个正确且有效的方法吗?当多个变量时它特别有用...


了解 std::function 的开销并捕获同步 lambda

考虑以下简单示例: #包括 #包括 #包括 #包括 #包括 #包括...


我可以创建类型别名来指定 std 容器的分配器吗?

我想使用我的自定义分配器为 std 中的容器定义类型别名,例如 输入 MyBox = Box; 然而我被告知 错误[E0229]:关联的类型绑定不是


C++:将 std::string 分配给缓冲区数组

在处理必须与 C 代码互操作的代码时,我经常遇到这个问题,其中有一个 std::string ,您需要将其内容复制到普通的 char 缓冲区,如下所示: 结构体T {...


共享在 Rust 中实现 Trait 的对象

我有一个对象特征,可以从某个索引提供字节。这些可能是文件、正在跟踪的进程、其他字节提供程序上的缓存等: 使用 std::结果::结果; 使用 std::io::Error ;


如何解决 Substrate `std' 中的重复 lang 项('myexternalcrate' 所依赖的):'panic_impl' 与 sr-io 冲突

我在 Substrate 1.0 运行时模块(基于节点模板)中使用 extern crate,它给出的编译错误为 板条箱“std”中存在重复的 lang 项目(“myexternalcrate”依赖于“myexternalcrate”):“pani...


是否有更简洁的方式来表示以毫秒和小时为单位的持续时间?

此 C++ 代码片段以毫秒和小时为单位打印持续时间: #包括 #包括 #包括 使用命名空间 std; 使用命名空间 std::chrono; int main() { 自动...


从初始值设定项列表转换为“A”将使用显式构造函数“A::A(int)”

我正在尝试将旧的 C++03 代码库迁移到 C++11。但我无法理解 gcc 在以下情况下警告我的内容: % g++ -std=c++03 t.cxx % g++ -std=c++11 t.cxx t.cxx:功能中...


使用自定义比较器的 std::set::insert 问题

我编写了一个小结构,用于对容器/解决方案中的项目之间的依赖关系进行排序(它实际上可以用于对任何内容进行排序,所使用的接口只是一个 std::string )。 依赖项是


我的阻塞队列实现有什么问题

//线程安全队列 模板 类阻塞队列{ 民众: 阻塞队列() { isempty.lock(); } 无效推(T obj){ std::lock_guard...


无法运行涉及类 getter 方法的命令

(https://i.stack.imgur.com/IzC5Z.png)](https://i.stack.imgur.com/5CnMd.png) 这是我的主要 #包括 使用命名空间 std; #include“玩家.hpp” int main(){


将shared_ptr传递给线程函数时如何避免clang-tidy警告?

我的 C++ 代码看起来(简化)如下: #包括 #包括 #包括 #包括 #包括 std::thread the_thre...


不同编译器执行顺序不同

此代码在 XCode 和 Visual Studio 中提供不同的输出: #包括 使用命名空间 std; int f() { 计算<< 'A'; return 1; } int main() { cout << '....


为什么 std::stoi() 返回异常?

您好, 我一直在尝试使用 C++ 解决以下问题:https://www.codewars.com/kata/554b4ac871d6813a03000035/train/cpp 使用以下代码: // 解决方案 #包括 #我...


如何通过引用同一个模板函数来传递一行boost::multi_array和std::vector?

我对这段代码有一个问题: #包括 #包括 #包括 #包括 模板 沃伊...


如何在gdb中调用std库函数(c++)?

我想使用gdb(使用版本12.1)来调试c++程序(g++版本11.3)。最小可重现示例如下: // foo.cpp #包括 #包括 #在...


如何在 UML 序列图上显示对 C++ 类成员变量的函数调用?

我试图弄清楚如何在 UML 序列图上描述以下函数: void NodeGraph::notify_graph_change() { { std::lock_guard graph_changed_lock(graph_...


© www.soinside.com 2019 - 2024. All rights reserved.