c++17 相关问题

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

有没有办法使用 XML boost::property_tree 读取无限的持续时间?

我正在尝试使用 boost::property_tree 从 XML 配置文件中读取某些配置的无限持续时间(对于其他配置则不是无限的)。该代码适用于非无限持续时间......

回答 1 投票 0

std::ofstream 赋值运算符——段错误仅发生在 gdb 中

我正在编写一个多线程程序,其中每个线程打开自己的文本文件以进行原始调试日志记录。每个线程都由一个类的单独实例表示,该类管理两个线程...

回答 1 投票 0

可调用签名匹配,禁止参数隐式转换

我正在使用一些“元方法”来执行编译时调用签名检测。虽然这个解决方案对我有用,但这只是因为我选择了相当具体的签名......

回答 1 投票 0

C++ 中的去抖动

我正在尝试用 C++ 编写一个虚拟去抖动函数。这是我写的: #包括 使用命名空间 std; 使用命名空间 chrono; 功能

回答 3 投票 0

是否可以使用 recursive_directory 迭代器跳过 EPERM?

可以使用 recursive_directory_iterator 跳过不可读的目录,如下所示: #包括 #包括 使用命名空间 std; 使用命名空间文件系统...

回答 1 投票 0

类“sf::Sprite”不存在默认构造函数

所以我正在为我使用 C++17 和 SFML 设计的理论 CPU 制作一个模拟器。当将 CPU::Initialize() 函数放入构造函数时,我在 CPU.h 的第 24 行遇到了这些奇怪的错误: 没有……

回答 1 投票 0

如何从模板函数调用C++成员函数?

我在将类作为shared_ptr传递到这个run函数中时遇到问题,以便我可以在后台线程化它。 类 myA { 民众: MyA() = 默认值; 无效函数(int){......

回答 1 投票 0

使用转义序列时,是什么导致 printf() 向控制台输出奇怪的字符?

我正在编写一个简单的函数,用于我的实用程序实现文件之一。我最近发现——在使用 C++17 库之一时——使用 std::

回答 1 投票 0

std::ptr_fun 替换 c++17

我使用 std::ptr_fun 如下: 静态内联 std::string <rim(std::string &s) { s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(std::i...

回答 7 投票 0

创建通过调用 C++ 17 中的 constexpr 函数填充的 constexpr 映射

我有一个 constexpr 函数,可以在编译时计算 CRC。我需要在该函数生成的 CRC 和字符串输入之间创建一个映射,并在运行时使用它们(如果它更好...

回答 1 投票 0

C++17 如何处理跨多个翻译单元的内联静态数据成员的线程安全初始化?

我一直在学习 C++17 中的内联静态变量及其跨多个翻译单元的初始化。我理解引入内联静态变量是为了维护单个

回答 1 投票 0

在向量内设置 std::promise 会将向量的大小更改为零,并将容量更改为无意义的值

我有一个使用自定义类 Router 的项目,它具有异步调用来启动连接。其工作原理是消费者将调用 Start(),它将立即返回。在

回答 1 投票 0

std::string_view 文字是否保证以 null 终止?

我知道一个简单的 std::string_view 不能保证以 null 终止。但是,我不知道 std::string_view 文字是否保证以空终止。 例如: #包括<

回答 1 投票 0

在 C++ 中使用逗号运算符时的未定义行为

我正在尝试学习如何在 C++ 中计算表达式。所以尝试并阅读不同的例子。下面是我无法理解它是否会产生未定义行为的代码...

回答 1 投票 0

从类模板推导出成员模板类型,不同类型

我有以下课程。我想要带有模板的“class First”,并根据它的类型,设置“class Second”的类型,如下所示。 模板 我有以下课程。我想要带有模板的“class First”,并根据它的类型,设置“class Second”的类型,如下所示。 template<typename T> class Second { public: T Get(T t) { return t; } }; template<typename T> class First { public: // if T=double --> vector<double>, if T=string --> long Second<"auto deduce"> second; }; int main() { First<int> first; // compile error, not in list auto val = first.second.Get(1); } 我可以让它像这样工作,但宁愿避免以下情况: #include <iostream> #include <vector> #include <string> template<typename T> class Second { public: T Get(T t) { return t; } }; template<typename T, typename U> class First { public: Second<U> second; }; int main() { First<double, std::vector<double>> a; First<std::string, long> b; } 一直在尝试让一些东西与 constexpr 一起工作。我相信我可以使用 std::conditional_t,但它看起来不干净,因为 std:: conditional 需要将自身嵌套在模板调用中。 如果您不喜欢嵌套多个 std::conditional,您可以创建一个类型映射,首先列出 T 应匹配的类型,然后列出结果类型: template<class... Ts> struct types {}; template<class T, class In, class Out> struct type_map { template<class I, class... Ins, class O, class... Outs> static constexpr auto test(types<I, Ins...>, types<O, Outs...>) { if constexpr (std::is_same_v<T, I>) return std::type_identity<O>{}; else return test(types<Ins...>{}, types<Outs...>{}); } using type = decltype(test(In{}, Out{}))::type; }; template<class T, class In, class Out> using type_map_t = typename type_map<T, In, Out>::type; 在您的情况下使用它: template <class T> class First { public: // if T=double --> vector<double>, if T=string --> long using second_param = type_map_t<T, types<double, std::string>, types<std::vector<double>, long>>; Second<second_param> second; };

回答 1 投票 0

确定作为模板参数传递的函数的参数类型

给定一个函数作为模板参数传递给函数,我如何确定它的第一个参数的类型? 例如: 模板 void run_func(/* 参数类型??...

回答 1 投票 0

当引用变量为

我重新创建了我所看到的问题的小例子。 我有两节课。类所有者有一个成员变量a。 Client 类有一个成员变量,它引用 Owner 的成员变量 a

回答 1 投票 0

为 gstreamer 创建 C++ 绑定时在回调中收到空填充

最近我正在尝试为 gstreamer 创建 C++ 绑定,并且我使用基本教程 3 作为测试用例。 #包括 #包括 #包括 #

回答 1 投票 0

C++ 连接到 Sage 300 问题

我正在创建一个 C++ 应用程序,它从文件中收集连接字符串和查询,然后连接到数据库并运行查询并打包结果,但我遇到了 Sage 300 问题...

回答 1 投票 0

带有 CUDA 后端的自定义向量类

我一直在自学CUDA,我想做的一个项目是实现一个线性代数库。我用 C++ 创建了一个数学向量类,它通过 GPU 计算点积......

回答 1 投票 0

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