stl 相关问题

标准模板库(STL)是通用容器,迭代器,算法和函数对象的C ++库。当C ++被标准化时,STL的大部分被采用到标准库中,并且标准库中的这些部分有时也被错误地统称为“STL”。

C++ Primer中提到的容器赋值操作问题

在《C++ Primer》Section 9.2, Table 9.4 中,有一个关于 seq.assign(b, c) 的项目说 迭代器 b 和 e 不能引用 seq 中的元素。 但是,当我尝试使用 seq.begin() 时...

回答 1 投票 0

Extra std::map::contains 调用与处理异常?

c++ 什么更高效? 如果 (my_map.contains(my_key)) 返回 my_map.at(my_key); 或者 尝试 { 返回 my_map.at(my_key); } catch (std::out_of_range e) { ... }

回答 1 投票 0

如何在 cpp 的头文件中将映射传递给 fn?

图片说明在这里 我想为 8085 微处理器做一个模拟器,我想用一个地图来存储值

回答 0 投票 0

只插入一对中的一个值

是否可以在 std::pair 中只插入一个值? 我有一个成对的向量,我需要在不同的循环中分别填充成对的成员。我可以使用临时变量或使用虚拟值...

回答 1 投票 0

Char 16:运行时错误:引用绑定到类型“std::pair<int, int>”的未对齐地址 0xbebebebebebebec0b6,这需要 4 个字节(stl_deque.h)

Char 16:运行时错误:引用绑定到类型“std::pair”的未对齐地址 0xbebebebebebebec0b6,这需要 4 字节对齐(stl_deque.h) 为什么这段代码创建了一个错误...

回答 0 投票 0

具有相同类型迭代器的 STL 距离无效参数

在两个 forward_list::iterator 类型上使用 std::distance,我的 ide 将其标记为无效参数。尽管如此,它仍可以构建和运行,并返回正确的值。 包括在内......

回答 0 投票 0

使用 SVD 转换 3D 对象(STL 文件)时的奇怪行为

我正在尝试使用 SVD 将带有 Python 的单个 STL 文件转换为基本模型(主 STL)。我有 8 个可用点(每个角一个)(数组:[[x-axys],[y-axis],[z-axis]]。当我转移...

回答 0 投票 0

std::string 和 std::basic_string 有什么区别?为什么两者都需要?

std::string 和 std::basic_string 有什么区别?为什么两者都需要?

回答 5 投票 0

为什么 std::vector 和 std::string 使用“for”循环来复制或移动元素?

为什么 std::vector 和 std::string 使用“for”循环来复制或移动元素?这不会影响性能吗? 最近在看llvm-libcxx中libcxx的stl源码,但是发现

回答 2 投票 0

UTF8 到/从 STL 中的宽字符转换

是否可以以独立于平台的方式将 std::string 中的 UTF8 字符串转换为 std::wstring,反之亦然?在 Windows 应用程序中,我会使用 MultiByteToWideChar 和 WideCharToMultiB ...

回答 8 投票 0

为什么我不能制作一个引用向量?

当我这样做时: std::vector 你好; 一切都很好。但是,当我将其设为引用向量时: std::vector 你好; 我遇到了可怕的错误,比如 ...

回答 11 投票 0

为什么使用 std::ranges 算法而不是常规算法?

cppreference 状态: ranges 库是算法和迭代器库的扩展和概括,通过使它们可组合且不易出错,使它们更加强大。

回答 2 投票 0

C++ map::iterator vs map.find() 迭代器

基于范围的for循环中的迭代器和map的find()方法返回的迭代器有什么区别? 换句话说,我想知道的是: 要访问地图元素,我们为什么...

回答 2 投票 0

斐波那契堆的STL?

STL 中的斐波那契堆在哪里? 如果 STL 不实现 Fibonacci 堆,最佳实践是什么 使用 STL 中现有的算法和容器来实现它?

回答 4 投票 0

Windows 窗体应用程序旋转和显示 3D STL 对象

我想根据传入的参数在 Windows 窗体应用程序上旋转 3D STL 模型,并在应用程序内部直观地显示它。我可以使用 Unity 准备代码和模型,但我不知道...

回答 0 投票 0

std::string_view 的可变替代方案?

是否有 std::string_view 的可变替代方案? 我需要一个存储指针和大小的容器,例如用于将其传递给函数而不是传递指针和大小。我知道这很容易...

回答 0 投票 0

为什么 std::flat_set 和 std::flat_map 有一些 noexcept 函数而其他容器适配器没有?

我注意到 std::flat_set 和 std::flat_map 容器适配器提供了一些 noexcept 成员函数,特别是以下内容: [[nodiscard]] bool empty() const noexcept; size_typ...

回答 0 投票 0

GDB 和 C++:打印指向对象的指针向量

在我的代码中,我有一个 STL 向量,它包含指向对象的指针。 我之所以这样编码是因为我必须从不同的地方操作对象本身。 std::向量

回答 3 投票 0

c++ std::map operator [] [关闭]中的段错误

gdb 信息: #0 0x00007f53691c1a4a 在 ?? () 来自 /data/services/lib_glibc/lib/libc.so.6 #1 0x0000000000b59a3c in std::char_traits::compare (__n=, __s2= gdb 信息: #0 0x00007f53691c1a4a in ?? () from /data/services/lib_glibc/lib/libc.so.6 #1 0x0000000000b59a3c in std::char_traits<char>::compare (__n=<optimized out>, __s2=<optimized out>, __s1=<optimized out>) at /usr/include/c++/5/bits/char_traits.h:262 #2 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare (__str=..., this=0xc8ce080) at /usr/include/c++/5/bits/basic_string.h:2318 #3 std::operator< <char, std::char_traits<char>, std::allocator<char> > (__rhs=..., __lhs=...) at /usr/include/c++/5/bits/basic_string.h:4989 #4 std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator() (this=<optimized out>, __y=..., __x=...) at /usr/include/c++/5/bits/stl_function.h:387 #5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_lower_bound (this=<optimized out>, __k=..., __y=0x7f5345b40310, __x=0xc8ce060) at /usr/include/c++/5/bits/stl_tree.h:1628 #6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::lower_bound (__k=..., this=0x7f5345b40308) at /usr/include/c++/5/bits/stl_tree.h:1091 #7 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::lower_bound (__x=..., this=0x7f5345b40308) at /usr/include/c++/5/bits/stl_map.h:916 #8 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::operator[] (__k=..., this=0x7f5345b40308) at /usr/include/c++/5/bits/stl_map.h:479 ... (gdb) f 8 #8 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::operator[] (__k=..., this=0x7f5345b40308) at /usr/include/c++/5/bits/stl_map.h:479 479 iterator __i = lower_bound(__k); (gdb) i args __k = @0xb8f57a8: {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb8f57b8 "bogi-signature"}, _M_string_length = 14, {_M_local_buf = "bogi-signature\000r", _M_allocated_capacity = 7451613697440967010}} this = 0x7f5345b40308 (gdb) f 7 #7 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::lower_bound (__x=..., this=0x7f5345b40308) at /usr/include/c++/5/bits/stl_map.h:916 916 { return _M_t.lower_bound(__x); } (gdb) i args __x = @0xb8f57a8: {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb8f57b8 "bogi-signature"}, _M_string_length = 14, {_M_local_buf = "bogi-signature\000r", _M_allocated_capacity = 7451613697440967010}} this = 0x7f5345b40308 (gdb) f 6 #6 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::lower_bound (__k=..., this=0x7f5345b40308) at /usr/include/c++/5/bits/stl_tree.h:1091 1091 { return _M_lower_bound(_M_begin(), _M_end(), __k); } (gdb) i args __k = @0xb8f57a8: {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb8f57b8 "bogi-signature"}, _M_string_length = 14, {_M_local_buf = "bogi-signature\000r", _M_allocated_capacity = 7451613697440967010}} this = 0x7f5345b40308 (gdb) f 5 #5 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_lower_bound (this=<optimized out>, __k=..., __y=0x7f5345b40310, __x=0xc8ce060) at /usr/include/c++/5/bits/stl_tree.h:1628 1628 if (!_M_impl._M_key_compare(_S_key(__x), __k)) (gdb) i args this = <optimized out> __k = @0xb8f57a8: {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb8f57b8 "bogi-signature"}, _M_string_length = 14, {_M_local_buf = "bogi-signature\000r", _M_allocated_capacity = 7451613697440967010}} __y = 0x7f5345b40310 __x = 0xc8ce060 代码: for (; hIt != cntl->http_request().HeaderEnd(); hIt++) { this->_ctx._header[hIt->first] = hIt->second; } 这是构造函数的代码。 _ctx 是一个成员类,_header 是一个 std::map 成员变量。 hIt->first 和 hIt->second 返回有效的字符串变量。我通过打印 args 确认了这一点。 (用户的deviceid,敏感信息) 我检查了很多,但似乎没有什么是对的

回答 0 投票 0

C++ STL递归调用时的未定义行为[重复]

在复习 Leetcode 问题时,我想找到充满 0 的子数组。 我做了一个递归函数来完成任务,但它抛出了一个错误。 类解决方案{ 民众: ...

回答 1 投票 0

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