草庐IT

c++ - 我可以使用动态数组作为 C++ 模板类型名吗?

至于下面的代码:templatecl_intenqueueFillBuffer(constBuffer&buffer,PatternTypepattern,::size_toffset,::size_tsize,constVECTOR_CLASS*events=NULL,Event*event=NULL)const{cl_eventtmp;cl_interr=detail::errHandler(::clEnqueueFillBuffer(object_,buffer(),static_cast(&pattern),sizeof(PatternType),offset,size,(ev

c++ - 我可以在函数头中包含 cppcheck 抑制吗?

我添加了一个内联注释来抑制函数的cppcheckunusedFunction警告,但我想将其包含在函数头中,以便Doxygen可以记录所有未使用的函数(我正在实现一个API,所以我有许多函数不会在我的源代码中使用)。我不希望抑制所有unusedFunction错误,而是基于每个函数。我想做这样的事情:/***APIfunctiondescription**@paramp1functionpointertothe...*@return0ifsuccessful,-1otherwise.*//cppcheck-suppressunusedFunction*/intCreateTask(Ta

c++ - 我可以将用 clang c++11 编译的对象与另一个用 c++17 编译的对象链接起来吗

我正在专门寻找thisquestion的clang答案.如果我用-std=c++11编译一个对象,用-std=c++17编译另一个对象,它们可以安全链接吗? 最佳答案 答案贴hereJonathanWakely的著作对于Clang也是正确的。简单的回答:如果您自己编译这两个对象,您选择的-std选项不会影响最终结果。大多数给定的C++ABI由标准库决定。其余的是各种运行时支持,例如异常、编译器内置(实际上可能分派(dispatch)到标准库)等等。libstdc++ABI兼容性是Clang的一个明确目标,所以你在这里没问题。如果您使

c++ - 我可以将从相机获取的单 channel 图像输出到 winAppi 窗口吗?

我有一个指向使用第三方SDK从相机获取的图像的指针。图像是一个波段(Mono8)。我想将它作为位图输出到winAppi窗口中。我做的是HBITMAPhBitmap=NULL;BITMAPINFOHEADERbmih;bmih.biSize=sizeof(BITMAPINFOHEADER);bmih.biWidth=1280;bmih.biHeight=960;bmih.biPlanes=1;bmih.biBitCount=8;bmih.biCompression=BI_RGB;bmih.biSizeImage=0;bmih.biXPelsPerMeter=0;bmih.biYPelsP

c++ - 我可以依靠编译器查找和优化简单的 bool 循环不变量吗?

我有一个类似于下面的循环,它有一个不变量,这里是scaleEveryValueByTwo的永不改变的值。我能否依靠编译器发现这个不变性而不在每次迭代中检查条件(基本上编译为类似于底部代码的东西)?voidloadValuesFromDisk(constboolscaleEveryValueByTwo){std::vectorxs;while(fileHasNewValues()){autox=loadNextValue();if(scaleEveryValueByTwo){x*=2;}xs.push_back(x);}}我当然可以手动将它分成两个循环(见下文)或将缩放部分放在一个单独的

c++ - 我可以在 C++ Builder 2007 中链接使用 vs2005 编译的库吗?

我使用VS2005将googlev8编译成v8.lib。我可以在C++Builder2007中链接它吗? 最佳答案 不,不可能将.lib从MSVC重用到C++Bulder。它们使用不同的文件格式并使用不同的运行时库。就像Victor所说的那样,在MSVC中创建一个直接的CDLL,并使用构建器工具(IMPLIB.exe?)为C++Builder创建stub.lib-或者-在构建器中重建整个项目。 关于c++-我可以在C++Builder2007中链接使用vs2005编译的库吗?,我们在St

c++ - 我可以使用 boost 文件系统获取文件属性(隐藏/存档...)吗?

我正在使用boost::filesystem递归地复制一个目录。我想排除隐藏文件。是否可以使用boost文件系统获取FAT32文件属性,如“隐藏”或“存档”?谢谢,菲利普 最佳答案 Boost::filesystem目前仅限于POSIX文件属性。但是,file_status类文档表明可以随时扩展该实现。我猜这只是在等待有动力去做这项工作的人。 关于c++-我可以使用boost文件系统获取文件属性(隐藏/存档...)吗?,我们在StackOverflow上找到一个类似的问题:

c++ - 我可以从内部暂停回调吗?

我正在使用SDLaudio播放声音。SDL_LockAudio告诉这个:Donotcallthisfromthecallbackfunctionoryouwillcausedeadlock.但是,SDL_PauseAudio没有这么说,而是告诉:Thisfunctionpausesandunpausestheaudiocallbackprocessing我的混音器回调看起来像这样:voidAudioPlaybackCallback(void*,core::bty::UInt8*stream,intlen){//numberofbyteslefttoplayinthecurrentsam

c++ - 我可以将英特尔的 TBB 与 gcc 一起使用吗?

我可以将intel的TBB与gcc一起使用吗?如果不是,什么是等价物,以便我可以在使用gcc编译时使用它?我不认为我可以,但问总是更好。 最佳答案 你可以,这就是他们的documentation不得不说:DoIhavetouseIntel’scompilers?No.YoushouldbeabletouseanyISOcompliantC++compiler.Wehavetesteditverywellonthegnu(gcc)compiler,Intel’sC++compiler,Microsoft’scompiler,andAp

c++ - 我可以安全地移动 boost 变体吗?

我有一个类包装了一个仅包含可移动类型(QList、QString、int等)的boost变体。我可以声明包装器类对Qt容器是可移动的吗? 最佳答案 一个boost::variant只包含一个整数索引和一个aligned_storage,标准保证它是一个POD。它没有虚拟成员,但有用户定义的构造函数和析构函数。因此,boost::variant不是POD并且试图记住它是UB(好吧,我认为它是UB,我没有在标准中找到明确的引用)。但是,对于QList、QString等也是如此。Apparently,Qt假定某些非POD类型可以安全地存储