c++17 相关问题

C ++ 17是2017年批准的C ++标准的名称。它基于以前的C ++ 14标准,改进了核心语言和标准库,并添加了一些新的语言功能。

什么时候应该调用虚基类的构造函数?

考虑以下示例: 结构爷爷{ 爷爷(int x) {} }; 结构爸爸:爷爷{ 爸爸(int y) : 爷爷(15) {} }; 结构儿子:爸爸{ 儿子(int z) : 爸爸(z) {} }; int main () {...

回答 1 投票 0

什么是string_view?

string_view 是添加到 C++17 的 C++ 库基础 TS(N3921) 中提议的功能 据我了解,它是一种代表某种字符串“概念”的类型,它是任何

回答 2 投票 0

嵌套结构化绑定可能吗?

假设我有一个类型的对象 std::map> 数据; 是否可以以嵌套方式访问元素类型(即在范围 for 循环中使用时),例如...

回答 3 投票 0

将唯一指针传递给 lambda 捕获中的函数以进行并行执行

这个问题是这个问题的后续问题。值得注意的是,通过删除 标头并使用 std::for_each() 重载而不执行策略,它可以很好地工作。 我有一个带有 m...

回答 1 投票 0

超出范围时如何重置多个变量?

我想在多个变量超出范围时重置它们。 目前,我有 1 个变量的解决方案,类似于此处答案中给出的解决方案: 将成员变量重置为其

回答 5 投票 0

C++ 中一组已知类型的成员函数模板的自动实例化

我试图显式实例化一个成员函数模板,以使其定义远离标头。需要实例化的类型是 std::variant 的替代类型

回答 1 投票 0

如何在 Asio 中取消组合异步操作?

我想使用组合的异步操作 asio::async_connect 并取消它,可能是在它进行的 basic_socket::async_connect 的各个调用之间。 以同样的方式,我想...

回答 1 投票 0

如果在 std::uninitialized_default_construct 之后需要 std::launder

我有一个类似于以下的代码,它使用分配器来分配原始内存,然后使用 std::uninitialized_default_construct_n (或同族的另一个函数)来构造 obj...

回答 1 投票 0


std::unordered_set<std::filesystem::path>:v.12 以下的 clang 和 g++ 上出现编译错误。 Bug 还是用户错误?

我将以下函数模板添加到我的项目中,用户抱怨它无法再在他们的系统上编译: 模板 std::size_t 删除重复项(std::向量<...

回答 2 投票 0

-Wstringop-溢出警告,当分配给目标字符串的长度等于源时

我使用 GCC 10.2.0 和 C++17,出现以下错误: ioapi.c:在函数“file_build_ioposix”中: ioapi.c:125:5:警告:“strncpy”指定的界限取决于源参数的长度...

回答 1 投票 0

内联 lambda 调用模板函数

我希望有一个模板方法,它接收数据并使用 lambda 函数对其进行处理,无论方法本身想要以何种方式执行此操作。但是,我希望 lambda 函数能够内联,所以...

回答 1 投票 0

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

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

回答 1 投票 0

在编译时检查函数映射是否具有重复且结构字段计数大小相同

我有一个包含 3 个字段的结构,我想创建一个 lambda/函数指针的映射,其键是结构字段名称的字符串值的哈希值。 在编译时,会使用 a...

回答 1 投票 0

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

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

回答 1 投票 0

gcc 中存在不明确的构造函数错误,但 msvc 中没有

我最近了解到,一个类中可以有多个默认构造函数。然后我写了下面的程序,用 msvc 编译,但是 clang 和 gcc 都无法编译它。 结构A {

回答 1 投票 0

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

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

回答 1 投票 0

为什么 std::array::begin 返回指针而不是迭代器?

我正在尝试构建一个嵌套迭代器模板,并依赖于具有诸如 value_type 之类的各种特征的迭代器。但事实证明,并非所有 STL 类型都返回具有这些特征的迭代器。对于...

回答 2 投票 0

切换 range-v3 的包含标头顺序后编译失败

当我在range-v3 v0.12.0中一起使用views::set_intersection和views::transform时,标题range/v3/view/set_algorithm.hpp和range/v3/view/transform.hpp的顺序很重要。如果是前者

回答 1 投票 0

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

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

回答 1 投票 0

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