上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 46 下一页
摘要: # 18.vector越界访问下标,map越界访问下标?vector删除元素时会不会释放空间? ## 1.vector越界访问下标 `std::vector`是C++标准库中的一种动态数组,其大小可以根据需要进行调整。当你试图访问一个不存在的元素,即访问超出其当前大小范围的索引时,将会发生越界访问。 阅读全文
posted @ 2023-08-02 22:48 CodeMagicianT 阅读(1038) 评论(0) 推荐(0)
摘要: # 17.STL中unordered_map(hash_map)和map的区别,hash_map如何解决冲突以及扩容 ## 1.区别 ### 1.1需要引入的头文件不同 map: `#include ` unordered_map: `#include ` ### 1.2内部实现机理不同 map: 阅读全文
posted @ 2023-08-02 22:47 CodeMagicianT 阅读(1036) 评论(0) 推荐(0)
摘要: # 16.map插入方式有哪几种? 1.用insert函数插入pair数据 ```C++ mapStudent.insert(pair(1, "student_one")); ``` 2.用insert函数插入value_type数据 ```C++ mapStudent.insert(map::va 阅读全文
posted @ 2023-08-02 22:46 CodeMagicianT 阅读(101) 评论(0) 推荐(0)
摘要: # 15.如何在共享内存上使用STL标准库? 1.想像一下把STL容器,例如map, vector, list等等,放入共享内存中,IPC一旦有了这些强大的通用数据结构做辅助,无疑进程间通信的能力一下子强大了很多。 我们没必要再为共享内存设计其他额外的数据结构,另外,STL的高度可扩展性将为IPC所 阅读全文
posted @ 2023-08-02 22:45 CodeMagicianT 阅读(288) 评论(0) 推荐(0)
摘要: # 14.map、set是怎么实现的,红黑树是怎么能够同时实现这两种容器? 为什么使用红黑树? 1.他们的底层都是以红黑树的结构实现,因此插入删除等操作都在O(lgn)时间内完成,因此可以完成高效的插入删除; 2.在这里我们定义了一个模版参数,如果它是key那么它就是set,如果它是map,那么它就 阅读全文
posted @ 2023-08-02 22:45 CodeMagicianT 阅读(66) 评论(0) 推荐(0)
摘要: # 13.STL迭代器如何实现 1.迭代器是一种抽象的设计理念,通过迭代器可以在不了解容器内部原理的情况下遍历容器,除此之外,STL中迭代器一个最重要的作用就是作为容器与STL算法的粘合剂。 2.迭代器的作用就是提供一个遍历容器内部所有元素的接口,因此迭代器内部必须保存一个与容器相关联的指针,然后重 阅读全文
posted @ 2023-08-02 22:44 CodeMagicianT 阅读(40) 评论(0) 推荐(0)
摘要: # 12.容器内部删除一个元素 ## 1.关联容器的删除 对于关联容器(如map, set,multimap,multiset),删除当前的iterator,仅仅会使当前的iterator失效,只要在erase时,递增当前iterator即可。这是因为map之类的容器,使用了红黑树来实现,插入、删除 阅读全文
posted @ 2023-08-02 22:44 CodeMagicianT 阅读(152) 评论(0) 推荐(0)
摘要: # 11.Vector如何释放空间? 由于vector的内存占用空间只增不减,比如你首先分配了10000个字节,然后erase掉后面9999个,留下一个有效元素,但是内存占用仍为10000个。所有内存空间是在vector析构时候才能被系统回收。empty()用来检测容器是否为空的,clear()可以 阅读全文
posted @ 2023-08-02 22:43 CodeMagicianT 阅读(313) 评论(0) 推荐(0)
摘要: # 10.STL 中vector删除其中的元素,迭代器如何变化?为什么是两倍扩容?释放空间? size()函数返回的是已用空间大小,capacity()返回的是总空间大小,capacity()-size()则是剩余的可用空间大小。当size()和capacity()相等,说明vector目前的空间已 阅读全文
posted @ 2023-08-02 22:42 CodeMagicianT 阅读(228) 评论(0) 推荐(0)
摘要: # 9.vector与list的区别与应用?怎么找某vector或者list的倒数第二个元素 1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。因此能高效的进行随机存取,时间复杂度为o(1);但因为内存空间是连续的,所以在进行插入和删除操作时,会造成内存块的 阅读全文
posted @ 2023-08-02 22:39 CodeMagicianT 阅读(319) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 46 下一页