std 相关问题

C ++标准库及其命名空间。与[c ++]结合使用。

C++ 获取 Linux stdin 字节并写入 UART

我已经有一段时间在努力研究如何获取 Linux 标准输入并将其写入已经打开的 UART 接口(/dev/ttySx)。 我尝试了几种解决方案,但没有成功。 我想要这一切

回答 1 投票 0

出队添加和删除显示恒定内存

我有一个关于Linux平台上C++内存的问题。 这是我的源代码: #包括 #包括 #包括 #包括 ...

回答 1 投票 0

为什么 std::vector 有 2 个构造函数而不是 1 个带默认参数的构造函数?

我查看了 cppreference.com 并发现了这个 向量(); 显式向量( const Allocator& alloc ); 为什么不只是 显式向量(const Allocator& alloc = Allocator()); 1个构造函数代替...

回答 1 投票 0

并行执行策略是否要求迭代器引用类型为左值?

我在代码中发现了一个性能问题,该问题是由于在非左值范围上使用并行执行策略调用的算法缺乏并行性而导致的。 考虑以下代码

回答 1 投票 0

使用可选<string>是否揭示了 gcc 中的错误?

我已将代码简化为以下示例,该示例在我的 g++ (x64 12.3) 上进行 -O3 C++20 编译失败,并且在使用 godbolt 时显然在 14.1 上失败: 再次根据 godbolt 的说法,clang 无需 ...

回答 1 投票 0

有没有办法从 C++ 正则表达式中提取搜索? (不是关于正则表达式的问题,而是#include <regex>)

给定一个 C++ std 正则表达式,有没有办法弄清楚该正则表达式会搜索什么?取出构建时放入的字符串? 我看过 https://en.cppreference.com/w/cpp/regex/

回答 1 投票 0

<queue>的emplace和push的区别

的emplace和push有什么区别? 以下是关于 std::queue::emplace 和 std::queue::push 的解释 。 两种方法都在当前最后一个元素之后添加元素...

回答 1 投票 0

使用 std::ranges::to 将 std::ranges::lazy_split_view 收集到 std::vector

在 Rust 中,我可以写(Rust Playground): 让 vec = "Hello-+-Rust-+-!".split("-+-").collect::>(); println!("{:?}", vec); // [“你好”,“...

回答 1 投票 0

尝试复制 std::complex 行为,是标准库在骗我还是我错过了什么?

我正在尝试将 std::complex 编写为 HLSL 库。为此,我开始从算术运算符开始实现最基本的功能。对于有限的数字,一切都符合预期。 ...

回答 1 投票 0

std::weak_ptr 什么时候为空?过期的 std::weak_ptr 是否为空?

根据 [util.smartptr.weak.obs]/4,weak_ptr::owner_before 严格的弱排序是这样的:“两个shared_ptr或weak_ptr实例是等价的,当且仅当它们共享所有权......

回答 1 投票 0

为什么 Clang 中删除了 to_chars 和 from_chars 函数

我尝试编译我的代码,但 charconv 头文件中的以下函数(即使它没有 .h 扩展名)无法编译,因为它们已在我使用的 Clang 版本中被删除: ...

回答 1 投票 0

LLDB:在 std::shared_ptr<T> 析构函数上设置断点

如何在 lldb 中的析构函数 ~shared_ptr 上设置符号断点? 上下文:我们想打破这一点,检查演示程序中简单实现的前向链表的堆栈溢出...

回答 1 投票 0

C++11/17 中 std::atomic 的间接和直接初始化。有什么区别?

在 CPP Con 2017 网络研讨会上,Fedor Pikus 说:“它必须是直接初始化” 这是网络研讨会的链接。 这些初始化方法有什么区别? (和

回答 1 投票 0

如何使用 std::accumulate 对元素的类成员求和?

我总是尽可能地尝试合并 STL 算法,而不是编写手动循环。但是,我很难理解 std::accumulate 通常是如何有用的。每当我需要的时候

回答 2 投票 0

为什么std::forward_list没有size()成员函数?

我一直使用C++11的forward_list作为快速插入的容器,没有太多内存开销,因为它是一个单链表。 在意识到forward_list没有size()之后...

回答 3 投票 0

是否必须有一个函数模板来传递 std::vector 作为参数?

是否必须有一个函数模板来将 std::vector 作为参数传递,如下面的代码所示? 另外,在参数中,为什么我们需要将 与 std::vector 一起传递? 模板 是否必须有一个函数模板来将 std::vector 作为参数传递,如下面的代码所示? 还有,在参数中,为什么我们需要和<T>一起传递std::vector? template <typename T> void print_vec(const std::vector<T>& vec){ for(size_t i{}; i < vec.size();++i){ std::cout << vec[i] << " "; } std::cout << std::endl; } int main(){ //Constructing vectors std::vector<std::string> vec_str {"The","sky","is","blue","my","friend"}; std::cout << "vec1[1] : " << vec_str[1] << std::endl; print_vec(vec_str); } 不,这不是强制性的。作者认为模板 print_vec 比特定于 print_vec 的 std::vector<std::string> 更有用。 注意在 C++20 中您可以使用此语法, 它基本上将您的模板限制为任何“可迭代”的内容 它还表明,在范围(向量)的情况下,你确实应该 使用基于范围的 for 循环。 (遗憾的是,大多数 C++ 课程都有些过时了,并且没有向您展示这一点) #include <vector> #include <ranges> #include <iostream> // Use C++20 template/concept syntax auto print_all(std::ranges::input_range auto&& values) { for(const auto& value : values) { std::cout << value << "\n"; } } int main() { std::vector<std::string> values{"1","2","3"}; print_all(values); }

回答 2 投票 0

写入后在不同线程中读取 stl 容器

假设我们有一个全局的std::容器。我希望向其中写入一些内容,然后让许多线程从中读取内容。初次写入后我不会更改它。 有什么东西可以阻止...

回答 1 投票 0

C++ 字符串可以转换为固定大小的字符数组吗?

嗨我有以下代码: 字符消息[10000]; 字符串 mystr = "你好"; 我想把 mystr 放入 msg 中。有没有办法做到这一点?我尝试了各种方法,但不断得到: 不兼容的类型...

回答 8 投票 0

std::sort 使用自己的迭代器时崩溃

尝试编写一个算法来对矩阵的对角线进行排序。我想纠正一个可以访问对角线的迭代器,然后利用 std::sort 来执行排序,问题是,在某些测试中

回答 1 投票 0

在C++标准中为什么定义了getenv而不定义setenv?

似乎无法在标准中找到 setenv 或类似内容的定义。 而 getenv 似乎存在并且可以在 Windows 和 posix 标准库中移植。 简而言之就是

回答 1 投票 0

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