草庐IT

stl_algobase

全部标签

c++ - 不使用 STL 的原因是什么?

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:ToSTLor!STL,thatisthequestion是否存在应该避免在他/她的项目中使用C++STL的情况? 最佳答案 当您选择使用Qt之类的框架时,您可能会考虑使用Qt中的列表、vector等,而不是使用STL。在这种情况下不使用STL可以让您在需要在GUI中使用它们时不必从STL转换为Qt等效项。这是有争议的,并不是每个人都想使用Qt中的所有东西来自http://doc.qt.nokia.com/latest/containers.htmlThe

c++ - 不使用 STL 的原因是什么?

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:ToSTLor!STL,thatisthequestion是否存在应该避免在他/她的项目中使用C++STL的情况? 最佳答案 当您选择使用Qt之类的框架时,您可能会考虑使用Qt中的列表、vector等,而不是使用STL。在这种情况下不使用STL可以让您在需要在GUI中使用它们时不必从STL转换为Qt等效项。这是有争议的,并不是每个人都想使用Qt中的所有东西来自http://doc.qt.nokia.com/latest/containers.htmlThe

c++ - Eclipse CDT : Unresolved inclusion of STL header

我正在尝试使用Eclipse编辑源代码,在C++Builder下编译,但遇到了Unresolvedinclusion问题。例如,代码如下:#include给Unresolvedinclusion:EclipseIDE中的错误。C++Builder确实没有vector文件,而是有vector.h由编译器使用。如果我写的话,EclipseIDE不会出错#include我如何告诉Eclipse使用vector.h当它看到#include? 最佳答案 这让我避免了Eclipse“Unresolvedinclusion”错误。就我而言,我必须

c++ - Eclipse CDT : Unresolved inclusion of STL header

我正在尝试使用Eclipse编辑源代码,在C++Builder下编译,但遇到了Unresolvedinclusion问题。例如,代码如下:#include给Unresolvedinclusion:EclipseIDE中的错误。C++Builder确实没有vector文件,而是有vector.h由编译器使用。如果我写的话,EclipseIDE不会出错#include我如何告诉Eclipse使用vector.h当它看到#include? 最佳答案 这让我避免了Eclipse“Unresolvedinclusion”错误。就我而言,我必须

c++ - 在具有预分配 block 的自定义 STL 分配器中重新绑定(bind)

我要构建一个自定义分配器,预分配一个大块(数组)来存储N某些类的元素T,然后在数组内增加一个索引来服务分配请求。由于我不想要对预分配block中的元素进行任何初始化,所以这样的事情不会起作用:Tbuffer[N];因为在这种情况下T的构造函数将被调用Nblock的元素。因为我的理解是std::aligned_storage不打电话T的构造函数,我想到了使用std::aligned_storage,类似这样:std::aligned_storage::value>::typebuffer;T*base=static_cast(static_cast(&buffer));然后分配器可以在请

c++ - 在具有预分配 block 的自定义 STL 分配器中重新绑定(bind)

我要构建一个自定义分配器,预分配一个大块(数组)来存储N某些类的元素T,然后在数组内增加一个索引来服务分配请求。由于我不想要对预分配block中的元素进行任何初始化,所以这样的事情不会起作用:Tbuffer[N];因为在这种情况下T的构造函数将被调用Nblock的元素。因为我的理解是std::aligned_storage不打电话T的构造函数,我想到了使用std::aligned_storage,类似这样:std::aligned_storage::value>::typebuffer;T*base=static_cast(static_cast(&buffer));然后分配器可以在请

c++ - 如何避免在基于 B-tree 的类似 STL 的映射中浪费键复制?

我正在替换std::map的使用在cpp-btree的热路径中的btree_map.但是启用优化后,GCC和Clang提示严格的别名违规。问题归结为:templateclassbtree_map{public://Inordertomatchthestandardlibrary'scontainerinterfacesusingvalue_type=std::pair;private:usingmutable_value_type=std::pair;structnode_type{mutable_value_typevalues[N];//...};public:classitera

c++ - 如何避免在基于 B-tree 的类似 STL 的映射中浪费键复制?

我正在替换std::map的使用在cpp-btree的热路径中的btree_map.但是启用优化后,GCC和Clang提示严格的别名违规。问题归结为:templateclassbtree_map{public://Inordertomatchthestandardlibrary'scontainerinterfacesusingvalue_type=std::pair;private:usingmutable_value_type=std::pair;structnode_type{mutable_value_typevalues[N];//...};public:classitera

c++ - STL 算法将整个容器而不是 .begin(), end() 作为 arg?

这个问题在这里已经有了答案:Whydon'tstd::algorithmsworkdirectlyoncontainersaswell?(3个回答)关闭1年前。独立的STL算法(如std::count_if)采用一对迭代器。在我使用这些的所有情况下(以及我在网上看到的所有示例!),我发现自己在输入std::count_if(myContainer.begin(),myContainer.end(),/*...*/);样式的速记模板有什么原因吗std::count_if(myContainer,/*...*/);没有提供,因为更多的是对整个容器执行的操作?我只是忽略了吗?c++11和c+

c++ - STL 算法将整个容器而不是 .begin(), end() 作为 arg?

这个问题在这里已经有了答案:Whydon'tstd::algorithmsworkdirectlyoncontainersaswell?(3个回答)关闭1年前。独立的STL算法(如std::count_if)采用一对迭代器。在我使用这些的所有情况下(以及我在网上看到的所有示例!),我发现自己在输入std::count_if(myContainer.begin(),myContainer.end(),/*...*/);样式的速记模板有什么原因吗std::count_if(myContainer,/*...*/);没有提供,因为更多的是对整个容器执行的操作?我只是忽略了吗?c++11和c+