草庐IT

time_out

全部标签

c++ - 尝试使用 std::get_time 解析 YYMMDD 并失败

我正在尝试这样做但失败了:std::istringstreamss("1212");ss>>std::get_time(&t,"%y%m");if(ss.fail())//everytime!这工作正常:std::istringstreamss("12-12");ss>>std::get_time(&t,"%y-%m");知道我做错了什么吗?我还能用什么,因为Windows似乎没有srtptimewindow/vs13时间差 最佳答案 VisualStudio似乎没有正确实现规范,GCCuntilversion5.0也没有。.如果您

c++ - SFINAE : Detecting if a function is called by a compile time known value

我喜欢在我的一个ctors以编译时已知值被调用时做一些检查。有办法检测吗?所以当有人调用它时:Aa(10);因为10是编译时已知常量,所以我喜欢调用一个特殊的构造函数,如下所示:template>A(intValue){}知道如何解决这个问题吗?谢谢! 最佳答案 积分常量可以解决您的问题:structA{template*=nullptr>A(std::integral_constant){}};然后,你可以像这样使用它:Aa{std:integral_constant{}};为了便于使用,您还可以使用类似于boost::hana的

c++ - 使用 std::get_time 将时间字符串转换为 std::time_t:错误结果

我正在尝试按时间顺序对照片进行排序。因此,我从EXIF数据中将时间提取为字符串,然后将其转换为std::time_t。但是我有时会得到不正确的结果。我已将问题简化为这个最小的例子。它具有三个时间字符串,相隔一秒:#include#include#include#include#include#includeintmain(){std::vectorvec;vec.push_back("2016:07:3009:27:06");vec.push_back("2016:07:3009:27:07");vec.push_back("2016:07:3009:27:08");for(auto&

c++ - 错误 : operand out of range (64 is not between 0 and 31)

我在PowerPC上遇到GCC内联汇编。该程序使用-g2-O3编译良好,但使用-g3-O0编译失败。问题是,我需要在调试器下观察它,所以我需要没有优化的符号。程序如下:$cattest.cxx#include#undefvectortypedef__vectorunsignedcharuint8x16_p;uint8x16_pVectorFastLoad8(constvoid*p){longoffset=0;uint8x16_pres;__asm("lxvd2x%x0,%1,%2\n\t":"=wa"(res):"g"(p),"g"(offset/4),"Z"(*(constchar(

c++ - boost::date_time, g++-4.7.0, 编译错误

以下代码在g++-4.7.0下出现编译错误,但在g++-4.6下编译正常。#include#includeusingnamespacestd;intmain(){boost::posix_time::ptimetime_t_epoch(boost::gregorian::date(1970,1,1));cout下面是反复看到的错误信息(编译器输出了很多信息)/usr/include/boost/date_time/local_time/local_date_time.hpp:433:84:error:useofdeletedfunctionboost::shared_ptr>::sha

c++ - 为什么 std::timed_mutex::try_lock_for 不起作用?

我在Ubuntu12.04中使用gcc-4.8.1(configure:./configure--prefix=/usr/local)编译了以下代码,但是当我运行它时,它没有工作。它没有停下来等待互斥量。它返回false,并输出“Helloworld!”命令:g++-std=c++11main.cpp-omain-pthread当我用gcc-4.6(apt-getinstallg++)编译时,效果很好。程序等了大概十秒,输出了“Helloworld!”#include#include#include#includestd::timed_mutextest_mutex;voidf(){t

c++ - std::random_shuffle 产生相同的结果,即使 srand(time(0)) 被调用一次

在一个函数中,我想生成一个范围内的数字列表:(该函数只会在程序执行时被调用一次。)voidDataSet::finalize(doubletrainPercent,boolgenValidData){srand(time(0));printf("%d\n",rand());//indices={0,1,2,3,4,...,m_train.size()-1}vectorindices(m_train.size());for(size_ti=0;i结果是这样的:850577673246239710241201288231237几秒钟后:856981140246239710241201288

pygame中time

系统方法pygame.time.get_ticks()pygame.time.wait()pygame.time.delay()pygame.time.set_timer()pygame.time.Clockpygame.time.Clock.tick()pygame.time.Clock.tick_busy_loop()pygame.time.Clock.get_time()pygame.time.Clock.get_rawtime()pygame.time.Clock.get_fps()系统方法pygame.time.get_ticks()功能:(以毫秒为单位)获取时间get_ticks(

opencv - libopencv_calib3d : undefined reference to `std::__throw_out_of_range_fmt(char const*, …)@GLIBCXX_3.4.20'

我提到了this在我的RaspberryPi2上安装OpenCV(它运行在最新的Raspbian上,内核版本为4.1.7-v7)。由于依赖项错误,我无法安装libgtk2.0-dev,但我能够毫无错误地安装OpenCV。我正尝试在Qt中为我的RaspberryPi2交叉编译一些简单的OpenCV代码。但是我在链接器阶段遇到以下错误:/usr/local/lib/libopencv_calib3d.so:undefinedreferencetostd::__throw_out_of_range_fmt(charconst*,...)@GLIBCXX_3.4.20我的代码是:myFunc{

.net - 警告 C4341 - 'XX' : signed value is out of range for enum constant

在编译我的C++.Net应用程序时,我收到104条警告类型:WarningC4341-'XX':signedvalueisoutofrangeforenumconstantXX可以在哪里字符长位二进制GUID...无论我做什么,我似乎都无法删除这些警告。当我双击它们时,它会将我带到使用OdbcParameters的代码的一部分-当我尝试使用我的所有其他东西但没有OdbcParameters的测试项目时,它不会发出警告。知道如何摆脱这些警告吗?他们从我实际上很难看到的代码中发出真正的警告-知道我的应用程序有104个警告让我感觉很糟糕! 最佳答案