草庐IT

类似于

全部标签

c++ - 是否有类似于 QByteArray 的标准 C++ 类?

是否有像QByteArray那样工作的STLC++类?? 最佳答案 std::string或std::vector 关于c++-是否有类似于QByteArray的标准C++类?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3136651/

C++: vector 和列表之间的混合:类似于 std::rope?

当存储一堆元素并且我不需要随机访问容器时,我使用了std::list这大部分都很好。然而,有时(尤其是当我只是将条目推回后面并且从不删除中间的某个地方时),我希望我有一些具有更好性能的结构来添加条目。std::vector不好是因为:如果它不再适合,它必须重新分配。它不适用于大量数据(因为您不能总是获得非常大的连续空闲内存块)。std::list不好是因为:它对每个push_back进行分配。这很慢并且会导致大量内存碎片。所以,介于两者之间的东西就是我想要的。基本上,我想要类似std::list>的东西或者。或者也许可以代替100,让它成为4096/sizeof(T).也许还有std:

c++ - 以类似 cout 的符号在 C++ 中管理日志流

我有一个C++类,用于为我的应用程序编写日志文件。我已经构建了这个类并且它可以工作,它是这样的:classLogger{std::string_filename;public:voidprint(std::stringtobeprinted);}嗯,很直观,为了在日志文件中打印一行,对于Logger对象,只需要执行以下操作:Loggermylogger("myfile.log");mylogger.print(std::string("Thisisalogline"));嗯。使用方法方法与使用像Loggermylogger("myfile.log");mylogger就是这样。我想我必

c++ - 您是否必须在类似 STL 的类中实现多个迭代器?

我非常熟悉STL及其使用方法。我的问题是...如果我要实现自己的STL容器类型,如何定义内部迭代器?STL类往往具有顺序或随机访问迭代器、它们的const_版本和流迭代器。这些迭代器是否在每个STL类中都已完全定义,或者是否存在您从中继承的某种基类以获得大部分迭代器功能?有谁知道有关如何实现支持这些不同类型的迭代器的类的良好引用? 最佳答案 一般来说,你只需要实现iterator和const_iterator.如果需要反向迭代器,可以使用std::reverse_iterator的实例化.流迭代器将使用operator>>和oper

c++ - C++标准库中有没有类似于没有成员的struct的类型?

有时需要将没有任何数据的虚拟值传递给某些模板。例如:templatestructBoundaryConditions{Xx;Yy;BoundaryConditions(typenameX::initxi,typenameY::inityi):x(xi),y(yi){...}};我们可能希望实现不带任何参数的自由边界条件。通过类型检查实现这样的事情非常容易:structNothing{};Nothingnothing=Nothing();structFree{typedefNothinginit;...};BoundaryConditionsfoo(nothing,100);所以我的问题

c++ - 如何实现类似 std::copy_if 但在插入到不同容器之前应用函数的方法

完全公开,这可能是一个锤子和钉子的情况,在不需要的时候尝试使用STL算法。我在我正在使用的一些C++14代码中看到了一个重新出现的模式。我们有一个迭代的容器,如果当前元素符合某些条件,那么我们将其中一个元素字段复制到另一个容器。模式是这样的:for(autoit=std::begin(foo);it!=std::end(foo);++it){autox=it->Some_member;//Note,thecheckusuallyusesthefieldwouldaddtothenewcontainer.if(f(x)&&g(x)){bar.emplace_back(x);}}这个想法几

类似 C++ 的 Moose 与 Perl 的 OOP 用法

我一直在玩弄Moose,对它有所了解。我想要一个纯虚函数的例子,就像在C++中,但用Moose的说法(特别是在C++中)。我知道,即使Moose采用了比普通Perl更严格的模型,仍然有不止一种方法可以完成我的要求(通过方法修饰符或SUPER::调用)。这就是为什么我特别要求一个尽可能类似于C++的实现。至于“为什么”?这个限制?主要是出于好奇,但也计划将一些C++代码移植到带有Moose的Perl中,以一种以C++为中心的人大多数可以认同的方式。 最佳答案 我可以想到这种使用角色而不是子类化的方式:{packageAbstractR

java - Java 中类似 C 的枚举

我正试图在C++中找到一个Java等价物,以提供以下便利:enum{ANIMAL_CAT=0,ANIMAL_RAT,ANIMAL_BAT,...NUM_ANIMALS};Animalanimals[NUM_ANIMALS];animals[ANIMAL_CAT].mNumLegs=4;animals[ANIMAL_RAT].mNumLegs=4;...我知道这不是世界上最漂亮的东西,但我可以在枚举中的任何地方添加一个新的ANIMAL_xxx,并且以下所有条目都会自动调整。在Java中是否有一种干净的方法来执行此操作?感谢您的回复,但我可能已经暗示了比我预期的更简单。我正在开发一款游戏,

c++ - 为什么只有非常量映射提供类似关联数组的直接元素检索?

我正在阅读:ThestandardC++Library:ATutorialandReferencebyNicolaiM.Jossuttis当我要以任何重要方式使用某些STL机制时,它是我的首选书籍。不管怎样,我很快重读了关于std::map和相关算法的章节,我注意到了一个我以前没有想过的句子:Non-constantmapsprovideasubscriptoperatorfordirectelementaccess.However,theindexofthesubscriptoperatorisnottheintegralpositionoftheelement....etc.为什么

.net - c++ 中是否有类似 .Net 中反射器的概念?

我喜欢从c++dll中获取代码,我知道我们可以通过反射器轻松地从.Netdll中获取代码。在C++中是否有任何可用的方法?提前致谢 最佳答案 C++直接编译为机器代码。没有.NET中的中间语言。有someC++disassemblers你可以看看。Hex-Raysdecompiler特别好。 关于.net-c++中是否有类似.Net中反射器的概念?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu