草庐IT

date_assigned

全部标签

c++ - 如何将 std::string 转换为 boost::gregorian::date?

我正在尝试将std::string转换为boost::gregorian::date,如下所示:usingnamespaceboost::gregorian;std::stringstr="1Mar2012";std::stringstreamss(str);date_input_facet*df=newdate_input_facet("%e%b%Y");ss.imbue(std::locale(ss.getloc(),df));dated;ss>>d;//conversionfailstonot-a-date-timestd::cout但如果字符串中包含“01Mar2012”,则转

c++ - 在调用 vector::assign() 之前调用 vector::reserve() 会更好吗?

我知道使用“reserve”以避免不必要的重新分配是一种很好的做法(EffectiveSTL的第14项):std::vectorv1;v1.reserve(1000);for(inti=0;i当您调用assign时是否适用相同的规则?std::vectorv2;//v2.reserve(v1.size());//Bettertodothis?v2.assign(v1.begin(),v1.end()); 最佳答案 如果v1是std::vector你真的不需要它,因为编译器/STL知道在v2(并且将在复制实际数据之前保留本身所需的数量

c++ - 错误 : cannot convert 'const wchar_t [13]' to 'LPCSTR {aka const char*}' in assignment

//includethebasicwindowsheaderfile#include#include//theWindowProcfunctionprototypeLRESULTCALLBACKWindowProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam);//theentrypointforanyWindowsprogramintWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){//thehandleforthew

c++ - C++ 是否为纯虚拟类创建默认值 "Constructor/Destructor/Copy Constructor/Copy assignment operator"?

C++编译器是否为这个“类”生成默认函数,如Constructor/Destructor/Copy-Constructor...?classIMyInterface{virtualvoidMyInterfaceFunction()=0;}我的意思是不可能实例化这个“类”,所以我认为没有生成默认函数。否则,人们会说您必须使用虚拟析构函数。这意味着如果我不定义析构函数virtual它将默认创建,而不是virtual。此外,我想知道为纯虚拟接口(interface)定义虚拟析构函数是否合理,如上所示?(所以这里没有使用指针或数据,所以不需要破坏任何东西)谢谢。 最

C++ 错误 : Incompatible types in assignment of ‘char*’ to ‘char [2]

我的构造函数有点问题。在我的头文件中,我声明:charshort_name_[2];和其他变量在我的构造函数中:Territory(std::stringname,charshort_name[2],Player*owner,charunits);voidsetShortName(char*short_name);inlineconstchar(&getShortName()const)[2]{returnshort_name_;}在我的cpp文件中:Territory::Territory(std::stringname,charshort_name[2],Player*owner,

c++ - C/C++ : is it faster to assign a 0 to an unsigned long variable or to xor the variable with itself?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。我意识到差异可以忽略不计,但在尝试将unsignedlong清零时哪个更有效?unsignedlongx;...x=0;--OR--x^=x;泰勒

c++ - boost:从机器获取带有当前时区的当前 local_date_time

问题是:我知道如何在boost中获取本地时间代码:boost::local_time::local_date_timecurrentTime(boost::posix_time::second_clock::local_time(),boost::local_time::time_zone_ptr());std::cout我知道如何从机器获取当前时区数据(我希望这是正确的方法)代码:tzset();//thevartznamewillhavetimezonenames//thevartimezonewillhavethecurrentoffset//thevardaylightshou

c++ - 在没有分配器的情况下在容器中遵守传播_on_copy_assignment 的习语

假设您有一个Container,它在内部使用其他标准容器来形成更复杂的数据结构。值得庆幸的是,标准容器已经被设计为完成所有必要的工作,以确保分配器被复制/分配等。所以,通常如果我们有一些容器c,并且在内部它有一个std::vector,我们可以写一个复制赋值运算符,它只是说:Container&operator=(constContainer&c){m_vec=c.m_vec;return*this;}事实上,我们甚至不必写它(因为它只是默认的复制赋值运算符所做的),但让我们说在这种情况下,默认运算符不会执行一些额外的必需逻辑:Container&operator=(constCont

c++ - vector.assign() 按顺序赋值

下面的定义是否明确?std::vectorv{"test"};v.assign(1,v.at(0));如果在构建新序列之前旧序列被销毁传递给assign的引用将失效,因此程序将是病式的。标准是否提到这种情况(值(value)是旧序列的一部分)或任何地方类似的东西,使这个结构合式?我找不到任何东西。来自Dinkumware的标准库实现拷贝使用VS2010(_Assign_n是由assign内部调用的):void_Assign_n(size_type_Count,const_Ty&_Val){//assign_Count*_Val_Ty_Tmp=_Val;//incase_Valisins

C++:你会选择 boost::date_time 还是 icu::date/time 库?

我的应用程序需要自定义时间和日期设置功能。我检查了ICU和boost::date_time库。从完整性的角度来看,两者似乎都符合我的要求。我想知道两者之间是否有任何偏好,依据是什么?哪个会在性能上得分? 最佳答案 如果没有关于您的特定用例和环境的更多信息,就无法给出关于哪个库是否优于另一个库的明确答案。正如Xeo所建议的那样,分析是解决性能问题的最佳方式。如果您的用例包括“一般”日期/时间操作(即,您还不知道您需要的所有日期/时间操作),有几个选择你必须做。作为Boost.DateTimedocumentation解释说,您可以在这