有什么优雅的方式来结合 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::
以下程序不能在 VS11 beta、gcc 4.5 或 clang 3.1 中构建 #包括 #包括 int main() { std::unique_ptr p; std::线程 th([](std::
我尝试在 std::string 中有选择地获取当地时间/UTC。 我尝试过的: (1) 获取 UTC 的 std::string 使用 std::format 可以正常工作: 自动 utc = std::chrono::system_clock::now(); std::字符串...
为什么构造 std::string(0) 不会发出编译器警告?
假设我有这段代码。 #包括 int main() { std::字符串(0); 返回0; } 写入 std::string(0) 会导致 std::basic_string::basic_string(const char*)...
gcc-12/13:仍然找不到 std::stacktrace
我有这个代码: #包括 #包括 int 嵌套函数(int c) { std::cout << std::stacktrace::current() << '\n'; return c + 1; } int func(int ...
我需要将 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 高度; ...
这段代码: 使用 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 auto &) 问题:我怎样才能...
为什么将operator()作为std::function调用不起作用
考虑这个旨在收集字符串序列的小类: 班级问题_t期末 { 私人的: std::vector m_issues; 民众: constexpr void 运算符()(std::string&a...
“优雅地”我的意思是:“在终止之前调用本地/静态对象 dtor,而不生成 coredump”。 我试过: std::exit() (以 coredump 终止) std::_Exit() std::中止...
我有两个别名来使用智能指针管理玩具状态机的状态集合: 使用 States = std::tuple, std::shared_ptr>; 使用
所以我有两个排序向量,我想将它们合并为一个排序向量而不使用额外的向量。 由于存在这种情况,我无法使用 std::merge,所以我尝试了 std::inplace_...
我有一个 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 的库来保存和恢复 C++ 区域设置。 但是 std::locale::global 设置 C++ 语言环境设置和 C 语言环境设置,如这个漂亮的用户 gui 中所述...
有没有办法在有条件的情况下隐藏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>
这是代码: #包括 #包括 #包括 #包括 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 << '...
可能很蠢,但与其被问到,不如后悔一辈子。 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。也在 Rust 游乐场。 使用 std::collections::HashMap; 使用 std::cmp; fn 主() { 让数组= [ ...
我正在尝试设计一个像这样的简单函数: 无效绘制(回调回调) { 绘图绘图(“名称”); 回调(绘图); std::cout << drawing.name() << std::e...
为什么 std::apply 使用函数模板会失败,但使用具有显式模板参数列表的 lambda 表达式却不会失败? [重复]
在查看 cpprefrence 中的 std::apply 引用时,我们可以看到函数模板不能作为 std::apply 的可调用对象传递。让我们考虑以下函数模板: 模板<
对于 std::strings,如何将所有出现的子字符串替换为另一个字符串? std::string s (“一个你好,两个你好。”); s = s.replace("你好", "世界"); //
使用命名空间std; #定义模1e9+7 int main(){ 计算< using namespace std; #define mod 1e9+7 int main(){ cout<<mod; cout<<endl<<fixed<<mod; } 输出: 1e+009 1000000007.000000 我认为在这种情况下,mod 是一个浮点数,因此第一个给出 1e+009 作为输出,这可能是由于浮点精度所致。但是使用fixed后,为什么输出不是1000000000.000000。 (通过#include 包含所有必需的头文件) 1e9 + 7 这个数字可以在 double 中精确表示,这里没有精度损失。 但是,当您使用std::cout << mod打印它时,它会使用默认精度打印,即6位十进制数字。因此,不打印 7。 您可以使用 std::cout 操纵器调整 std::setprecision 的精度: #include <iostream> #include <iomanip> int main() { std::cout << std::setprecision(10) << mod << '\n'; } 将打印 1000000007
我将一个指向向量的指针作为函数中的输出参数,我不知道这是否是最佳实践: 状态接口::method(const std::vector** outVec); 我正在写...
我正在尝试构建一个“静态”数据数组,并继续与编译时/运行时失败作斗争。这是我正在尝试的精简版本: 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/
我正在尝试解决这个leetcode问题,我应该对向量执行k个位置的右旋转。由于 std::rotate 进行左旋转,我尝试使用反向迭代器来适应...
首先,我想说我已经对这个主题进行了研究,但没有任何相关...... (使用 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 中的容器定义类型别名,例如 输入 MyBox = Box; 然而我被告知 错误[E0229]:关联的类型绑定不是
在处理必须与 C 代码互操作的代码时,我经常遇到这个问题,其中有一个 std::string ,您需要将其内容复制到普通的 char 缓冲区,如下所示: 结构体T {...
我有一个对象特征,可以从某个索引提供字节。这些可能是文件、正在跟踪的进程、其他字节提供程序上的缓存等: 使用 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() { 自动...
有没有办法找到我的代码中所有出现的 std::vector<bool> ?
我管理一个包含很多模板类的大型复杂代码。 我想禁止在代码中使用 std::vector (因为这是编译问题的一个反复出现且痛苦的原因......
从初始值设定项列表转换为“A”将使用显式构造函数“A::A(int)”
我正在尝试将旧的 C++03 代码库迁移到 C++11。但我无法理解 gcc 在以下情况下警告我的内容: % g++ -std=c++03 t.cxx % g++ -std=c++11 t.cxx t.cxx:功能中...
std::unique_ptr 可以只管理指针,还是也可以管理奇特的指针(类似指针的类型)? 我认为“花式指针也是如此”,因为对于像文件/套接字这样的资源,花式指针可能是一个很棒的
我编写了一个小结构,用于对容器/解决方案中的项目之间的依赖关系进行排序(它实际上可以用于对任何内容进行排序,所使用的接口只是一个 std::string )。 依赖项是