std 相关问题

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

STL中有没有像std::unique这样的算法来存储相等对象的数量?

std::unique 算法仅保留连续元素组中的唯一元素。同时,有时了解初始容器中有多少特定元素是有用的。喜欢我...

回答 1 投票 0

为什么 `Allocator.allocate` 分发 `NonNull<[u8]>`...但 `deallocate` 接受 `NonNull<u8>`?

正如标题所说。 pub 不安全特征分配器 { fn allocate(&self, 布局: 布局) -> Result, AllocError>; 不安全的 fn deallocate(&self, ptr: NonNull 正如标题所说。 pub unsafe trait Allocator { fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>; unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout); } Allocator 上的两个必需方法都采用不同的指针类型,这对我来说似乎很奇怪。为什么做出这样的选择? 此外,为什么选择u8和[u8]?为什么两种方法不只使用 NonNull<()> 或 NonNull<[()]> 呢? 我的理解是,选择 [u8] 或 u8 是一个好主意,因为它具有实际可以分配的最不严格的布局要求(因为 Layout 要求 align 非零)。但是,我认为每次都需要演员表可能是更好的设计选择。 分配器可能会过度分配,并且NonNull<[u8]>是一个包含长度信息的胖指针。 为什么是u8而不是()?不确定,但它可能反映了所有内存最终都是一堆字节的想法。此外,允许悬空指向 ZST 的指针可能与此有关。

回答 1 投票 0

在unordered_map中,如何迭代存储的哈希值?

在unordered_map中,如何迭代存储的哈希值? unordered_map 应该存储每个键的哈希值。如何获取存储的哈希密钥对? 我为什么需要它?评估相关性...

回答 1 投票 0

何时应使用 std::map/std::set 而不是 std::unordered_map/std::unordered_set?

在新标准中引入了 std::unordered_map/std::unordered_set ,它使用哈希函数,并且插入/删除/获取元素的平均复杂度恒定,以防......

回答 3 投票 0

尝试升级/编译旧的 C++ 源代码(来自供应商)-“std::runtime_error”问题

我正在尝试从我们使用的产品中编译一些示例代码。我认为供应商没有维护代码。我使用的是 VS Pro 2022 版本 17.7.5 这是代码片段和它产生的错误......

回答 1 投票 0

为什么不能在不调用非静态成员函数的情况下使用点运算符来引用它?

考虑以下事项 #包括 #包括 类 Foo { 私人的: int m_num; char m_letter; 民众: 显式 Foo(int a, char c) : m_num(a), m_l...

回答 1 投票 0

重载元组索引运算符 - C++

如何重载 std::tuple 的索引 [] 运算符?因此,当我有 std::tuple tup 并输入 tup[0] 时,我希望它返回对 get<0>(tup) 的引用....

回答 2 投票 0

为什么非静态成员函数不调用就不能被引用?

考虑以下事项 #包括 #包括 类 Foo { 私人的: int m_num; char m_letter; 民众: 显式 Foo(int a, char c) m_num(a), m_let...

回答 1 投票 0

无法让 std::array 的 data() 方法作为 constexpr 工作,我是在做一些愚蠢的事情吗?

所以,根据 CPP 参考,我应该能够使用 data() 作为 constexpr。我的最小例子是这样的: #包括 #包括 int main(int argc,char** argv){ 你...

回答 1 投票 0

什么时候需要使用标志 -stdlib=libstdc++?

使用gcc编译时,什么时候编译器和链接器需要使用-stdlib=libstdc++标志? 编译器会自动使用libstdc++吗? 我在 Ubuntu 13.1 上使用 gcc4.8.2...

回答 3 投票 0

如何避免使用stoll/stol/stoi/atoi [关闭]

如何避免使用 stoll/stoi/strtoll? 在“123”上,stoi/stoll/stol 会抛出错误。或者我可以使用 int var = strnum; 吗? 我是 C++ 新手,我不想编辑配置文件。或者哈...

回答 1 投票 0

使用enable_shared_from_this时出现bad_weak_ptr

我有一个基础班 类事件接收器{ 民众: 事件接收器()=默认值; 虚拟〜eventreceiver()=默认; 虚拟无效 on_quit(); } 我有一堂课使用它 类引擎:pu...

回答 2 投票 0

如何从另一个线程挂起(和恢复)'std::thread'?

我是 std::thread 的新手。我需要让另一个线程的 std::thread 进入睡眠状态,这可能吗?在示例中,我看到的只是如下代码: std::this_thread::sleep_for(std::chrono::seconds(1)); 但是...

回答 3 投票 0

初始化 std::<list> 或 std::<vector>

我编写了一个类,在其中使用 typedef 定义一种新类型的列表,并在私有中:我初始化/声明一个向量。尽管有头文件,但列表和向量似乎都没有启动......

回答 1 投票 0

std::线程错误(线程不是std的成员)

我使用macports编译并安装了gcc4.4。 当我尝试使用 -> g++ -g -Wall -ansi -pthread -std=c++0x main.cpp... 进行编译时: #包括 ... std::thread t(句柄); t.joi...

回答 4 投票 0

std::__lg 是什么?

作为标题,我不知道谷歌后 std::__lg 是什么意思?这一行到底是做什么的: int n = std::__lg(block_sz - pos_l + 1);

回答 2 投票 0

在 C++ 中检查 std::vector<string> 是否包含某个值[重复]

是否有任何内置函数告诉我我的向量是否包含某个元素 例如 std::向量 v; v.push_back("abc"); v.push_back("xyz"); if (v.contains("abc")) // ...

回答 5 投票 0

std::any 包含 std::tuple<std::any> 无法编译

我意识到嵌套的 std::any 是一个坏主意。尽管如此,我遇到了一些让我摸不着头脑的事情,我只是想理解为什么编译器会窒息。考虑以下...

回答 1 投票 0

列表为空时 std::list:begin() 的行为[重复]

以下内容是否给出了 C++ 标准的定义结果? std::list myList; std::list::iterator myIter = myList.begin(); // 有什么问题吗? myList.push_back( 123 );

回答 2 投票 0

这是 std::expected 的正确便捷包装吗?

如果我正在编写一个返回 std::expected 对象的函数,并可能调用返回 std::expected 对象的其他函数,我发现自己编写这样的代码片段非常常见。 是...

回答 1 投票 0

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