标准模板库(STL)是通用容器,迭代器,算法和函数对象的C ++库。当C ++被标准化时,STL的大部分被采用到标准库中,并且标准库中的这些部分有时也被错误地统称为“STL”。
用 std::string_view 替换所有 const std::string & 是一个不错的选择吗?
我对内存分配和复制非常敏感,因此,如果函数需要 std::string 对象作为输入,我总是使用 const std::string &。 最近,我发现了 const std::string & will
我需要调用一个函数,其参数是字符串类型。 我认为 std::string 是一个不错的选择,因为它提供了很多接口。 但是最近我发现我路过的时候发生了一个副本...
std中是否有一个类/结构体可以不区分大小写地比较字符串,并且可以用作std::map中的Compare模板?
要创建一个不区分大小写的字符串键的 std::map,我们可以定义一个 struct CaseInsensitiveCompare,并在定义映射时将其作为 Compare 模板传递。 模板 结构
在下面的代码中,如果我键入以下两个内容之一,则会出现错误 计算<< "value of it: " << vec.begin() << endl; cout << "value of it: " <...
查看 C++ 中 std::unordered_map 的哈希分布
查看我的哈希函数在 C++ 中的 unordered_map 中运行情况的最佳方法是什么?我正在使用 Visual Studio 2022,在调试器中没有简单的方法可以查看其中的分布...
我喜欢并且经常使用 C++ 零规则,但现在有一个用例,我发现它很难使用。 我有 2 个库,都是单独维护的,甚至用不同的编译器编译到
以下代码适用于ordered_set(不允许重复)(来源:GFG): // C++ 程序来演示 // GNU C++ 中的有序集 #包括 使用命名空间...
调用 `string::c_str()` 时实际上做了什么?
调用 string::c_str() 时实际上做了什么? string::c_str() 将分配内存,复制字符串对象的内部数据,并将一个以 null 结尾的字符附加到新分配的内存中
与“operator=”不匹配(操作数类型为“std::vector<int>”和“int”
我是c++新手,我正在学习向量。我编写了一个基本代码来查看它是如何工作的,但出现以下错误。 ||=== 构建文件:“无项目”中的“无目标”(编译器:未知)===| C:\用户\
我想删除 std::map 中的一些元素。 我编写了擦除+remove_if技术,我总是对其他序列容器这样做。 但它不是用地图编译的。为什么? 我怎样才能完成这项工作? ...
如果我有以下向量 {10 10 10 20 20 20 30 30} 我想要一个函数返回 = X 的整数的位置或直接返回 X 之后的较小元素,例如,如果我正在搜寻...
std::unordered_set basicWalls = FindWalls(floorPositions, cardinal2D); std::unordered_setcornerWalls = FindWalls(floorPositions, Diagonal2D); printf("基本
这是一个简单的问题,但互联网上没有提供这个问题的答案或示例: 将参数包传递给 std::tuple 的正确方法是什么?我尝试过以下方法,结果发现我
有一个std::apply for std::tuple的调用, 在 lambda 内部,还有另一个容器:std::array,其中的每个元素都是一个对象,我需要使用参数调用此成员 - 元组 va...
是否有一个 std 迭代器可以用来使用 std 算法(例如 std::copy)将元素插入到 std::map 中? 我需要一个容器将一个对象链接到一个字符串,我考虑使用 st...
__STDC_LIMIT_MACROS 和 __STDC_CONSTANT_MACROS 是什么意思?
我在我的系统的标准 C++ 库以及我正在使用的库中的一些标头中看到了这一点。 这两个定义的语义是什么? #defi 有好的参考吗...
我正在学习STL和设计模式。 我想知道是否有任何文档或链接可以解释如何在 STL 中实现设计模式 我做了谷歌但无法获得太多数据
std::async 的 Windows 实现似乎有一个错误。在重负载下(大约每秒启动 1000 个异步线程),异步任务永远不会被调度并等待
std::ranges::swap() 和 std::swap() 有什么区别?
在C++20中,有两个交换函数模板:std::ranges::swap(T&&, U&&) 和 std::swap(T&, T&)。 我只是好奇: 他们两个有什么区别?