C ++ 17是2017年批准的C ++标准的名称。它基于以前的C ++ 14标准,改进了核心语言和标准库,并添加了一些新的语言功能。
假设我想使用以下语法创建自己的基于 lambda 的开关: auto s = make_switch(std::pair{0, []{ return 0; }}, std::pair{1, []{ 返回 50; }},...
从具有按值捕获的 lambda 移动构造 std::function 时,移动构造函数被调用两次
当从 lambda 移动构造 std::function 对象时,该 lambda 具有按值捕获,似乎被值捕获的对象的移动构造函数被调用两次。缺点...
操作员<< overload not selected for rvalue std::ostringstream and std::unique_ptr
我注意到 std::basic_ostream 运算符<< overload for rvalue ostreams is not selected for a temporary std::ostringstream in combination with std::unique_ptr. #include #
我正在阅读 Nicolai M. Josuttis 所著的《C++17 - 完整指南》一书。 第 14 章的标题是“使用可变参数 using 声明”。我不明白其中的示例代码:...
我正在阅读 Nicolai M. Josuttis 所著的《C++17 - 完整指南》一书。 第 14 章的标题是“使用可变参数 using 声明”。而且我不明白示例代码...
C++17 非静态 POD 类成员是否用大括号 {} 初始化并设置为 0?
收到代码审查评论,指出我的非静态类 POD 成员被设置为无效值。我同意初始值应该是无效的。对于我的情况,0 无效。这是一个例子: A级 { ...
我在 Windows 上,使用 c++17 并尝试在我的一个项目中使用 GLFW。这是我尝试过的,但它不起作用: 我在 VS Code 中打开了一个空文件夹,并添加了 src 和 Dependencies 文件夹...
为什么禁用非强制复制消除会导致 C++17 之前和之后不同的行为
我一直在使用不同的编译器标志和版本尝试以下 C++ 代码,观察 C++11 和 C++17 之间对象构造的不同行为。 我注意到...
c++:是 (a || b) || c;相当于 if (!a && !b) { c; }
我正在更新别人的代码。 他们做了以下事情: 布尔 a(); 布尔 b(); 一个()|| b() || std::堵塞 << "whine about something" << std::endl; I'm replacing the std::clog ...
我(我认为)需要什么 如何定义一个类型特征来检查对于类型 T 是否声明了函数 ::foo(T) ? 我发现很难的是以 SFINAE 友好的方式拥有 ::foo 。例如...
如何使用 C++17 std::filesystem 获取用户的主目录?
我需要获取当前用户的主目录,然后将其他目录的路径附加到其中。由于该应用程序是跨平台的,因此该方法应考虑到这一点。我曾经
C++:使用 lambda 将 STL 容器复制到 STL 容器
我找不到任何关于这个具体案例的信息,想知道这是否可能。 我想从 unordered_set 的元素(元组)中创建一个新的向量向量。我正在使用...
我已经编写了一段代码,也许是一个简单的编码测试。 (详情见下) 拳击手参加比赛 更好的人总是赢 前任) 如果A拳击手比B更好,A总是赢B 如果 C 拳击手比 A 更好,C 总是获胜...
std::filesystem::remove() 如何检查失败是否导致文件丢失?
我有这个代码: std::error_code errc; if (!std::filesystem::remove(entry.path(), errc)) { //检查是否因文件不存在而失败 } 基本上我正在尝试转换 C 代码...
decoder.ptr 为 nullptr CreateDesktopWindowTarget - IDesktopWindowTarget
在C++中,我想加载图像,并使用winrt合成将其渲染到win32窗口。我只是想为我的其他应用程序构建一个简单的测试床来测试 2dtexture 合成。 我尝试过很多次
有没有办法从 string_view 创建字符串流而不复制数据?
我认为这是一个非常简单的问题。我特别想使用 std::get_time,但它需要某种类型的流来使用。我正在 string_view 中传递数据并且会...
在实现 C++1z 的 std::basic_string_view 以在较旧的编译器上使用它时,我遇到了流输出运算符重载的问题。 基本上,它必须输出内容
是否可以在 C++17 中使用 std::any 比较两个任意函数?
我认为这是 C++ 如何处理函数指针和 std::function 的一个很大的限制,目前不可能以优雅的方式比较两个不同类型的任意函数。 我是...
我有一些这样的代码: 无效展开(const size_t x){ for (const size_t& nxfa = Nodes.at(x).father; nxfa;) { 标准化(nxfa); const Node& nf = 节点.a...
我正在用现代 C++ 为一个非常流行的手持控制台编写一个模拟器。 很明显,对于 RAM,我想使用 std::vector,但如果 std::byte 也是正确的,我会很挣扎...