草庐IT

STD_LOGIC_VECTOR

全部标签

c++ - boost::regex 和 std::regex 之间的不一致

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Nomatcheswithc++11regex我之前使用boost::regex来处理一些东西,而对于一些我想使用std::regex的新东西,直到我注意到以下不一致-所以问题哪个是正确的?#include#include#include#includevoidtest(std::stringprefix,std::stringstr){std::stringpat=prefix+"\\.\\*.*?";std::cout对我来说(gcc4.7.2,-std=c++11,boost:1.51),我看到了以下内

c++ - std::bad_alloc 不进入交换空间

我试图理解为什么当我似乎有足够的(虚拟?)可用内存时我会收到std::bad_alloc异常。本质上,我有一个素数生成器(Eratosthenes筛法(尚未分段)),我在其中为指示器数组更新bool值,然后为我在命令行指定的范围内找到的素数更新整数。我有1GB内存(其中一些会被我的操作系统(ubuntu10.04)占用,并且可能其中一些不可用作堆内存(我在这里错了吗?))和2.8GB交换空间(我相信这是在安装Ubuntu时为我自动设置的)如果我将上限设置为600000000,那么我需要0.6GB的内存用于我的指标数组和大约30000000*4字节(略微高估,因为有26355867个小于

c++ - 'mapped_type' std::map 错误的初始化没有匹配的构造函数

我有一个名为“Card”的类,我试图将它的一些对象存储在std::map中卡片.hpp:classCard{public:enumValueType{NOVALUE,ACE};enumFaceType{NOFACE,CLUBS};Card(constValueType&_value,constFaceType&_face);Card(constCard&_card);private:ValueTypem_value;FaceTypem_face;};以下是我存储和访问它的方式:甲板.hpp:#includeclassCard;classDeck{public:Deck();std::s

c++ - 是否可以推断出 std::insert_iterator 包含的类型?

我有一个需要模板化迭代器类型的函数。它当前取消引用迭代器以检查被迭代的类型。templatevoidfunc(Iteratori){//Inspectthesizeoftheobjectsbeingiteratedconstsize_ttype_size=sizeof(*i);...}我最近发现一些标准迭代器类型,例如std::insert_iterator将*i定义为对i的简单引用.即sizeof(*i)是迭代器本身的大小;与sizeof(i)或sizeof(***i)相同是否有一种通用方法(支持C++03)来确定任何标准迭代器正在迭代的对象的大小或类型?

c++ - vector<pair<int,int>> 上界

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。我正在尝试使用upper_bound在vector>上,像这样:vector>data;autoup=upper_bound(data.begin(),data.end(),0);VS2012给我以下错误:errorC2784:'boolstd::operator&,conststd::vector&)':couldnotdeducetemplatearg

c++ - 反转 map<string, int> 到 vector<vector<string>> 的映射

以我的priorquestion为基础,我有一个单词的映射及其计数存储在map中.我想反转它,以便将所有具有相同计数的单词组合在一起。我的解决方案是使用vector>.第一个vector的索引是计数,第二个vector是单词的集合。阅读上一个问题的答案后,这里是我一直在努力工作的内容:vector>sorted_words;for(map::const_iteratorit=counters.begin();it!=counters.end();++it){coutfirstsecondit->second&&sorted_words[it->second].size()>0){cou

c++ - std::function 的异常安全

我尝试查找这段代码是否会抛出异常,但没有成功:std::functionf=[]{};根据标准,std::function的复制或移动构造函数不是noexcept。但我想缺少noexcept关键字是因为std::function还包装了用户定义的仿函数对象,其复制或移动构造函数可能会抛出。在我的例子中,异常(exception)似乎不太可能,但有可能吗? 最佳答案 Inmycaseanexceptionseemsveryunlikelybutisitpossibleatall?原则上是的。std::function将不得不分配内存来

C++ 泛型 vector

是否可以在C++中创建多种类型的vector?我希望能够构建和迭代包含许多不同类型的vector。例如:vectormyVec;myVec.push_back(myInt);myVec.push_back(myString);etc...vector需要能够容纳不同的数据类型。我应该在C++库中使用另一种类似vector的类型吗?任何方向表示赞赏。 最佳答案 你可以使用boost::any.例如:#include#include#includestructmy_class{my_class(inti):x{i}{}intx;};in

c++ - 如何从 vector char 初始化字符串流

目前我正在使用一个boostchar数组boost::arrayreceived_data;std::istringstreamss_(received_data.data());但是如果我的received_data是std::vectorreceived_data(512);怎么办?然后我如何将这些数据发送到我的std::istringstreamss_? 最佳答案 istringstream接受一个字符串,一个字符串可以由两个字符迭代器组成,像这样:istringstreamiss(string(v.begin(),v.end

c++ - 如何将 tr1/array 转换为 std::string?

我想知道如何投std::tr1::array到std::string?编译器总是报错,我试过了std::tr1::arraysss;string(sss);stringasd(sss);两者都有效... 最佳答案 unsignedchar让这变得棘手。如果您知道您的系统使用2s补码1字节8位unsignedchar和char,以及从unsignedchar到char的隐式转换做你想做的(这些并不总是正确的!),并且你的数组缓冲区是null终止的(即,第一个0之后的字符应该被丢弃),这个函数有效:templatestd::string