草庐IT

block_and_release

全部标签

c++ - 两阶段查找 : is it possible to easily mix inheritence and templates

简介:C++标准区分依赖模板参数的符号名称和不依赖模板参数的名称,这称为两阶段名称查找(参见here)。定义模板时,会尽快解析非相关名称。另一方面,从属名称仅在模板实例化时解析。示例:templatestructBase{typedefTtype;staticconstintn=3;virtualintf()=0;intf(intx){returnx*2;}};//doesn'tcompile!templatestructDerived:Base{typefield;//Thecompilerdoesn'tknowBase::typeyet!intf(){returnn;}//thec

C++/QML : How to define and handle multiple contexts for dynamically created components?

基本上我的情况是这样的:我有一个扩展QQuickView的类,它通过设置上下文属性将某些对象从C++公开到QML。显示的View是从QML创建的,并且都是同一定制组件的不同实例;当某些事件发生时会创建新View,当这种情况发生时,现有View应显示最初在C++端分配给它们的对象,而新View应显示分配给它们的对象。所以,在C++方面,我有这样的东西:WindowManager::WindowManager(QQuickView*parent):QQuickView(parent){//Settingthesourcefiletousethis->setSource(QUrl("qrc:

c++ - SSE 内在函数 : masking a float and using bitwise and?

基本上这个问题与x86汇编器有关,您有一个数字,您希望使用and将其设置为零或数字本身。.如果你andnumber为负数你会得到number本身,但如果你and它与零你得到零。现在我在使用SSEinstrinsics时遇到的问题是float在二进制中与double不同(或者我弄错了)。无论如何,这是代码,我尝试使用各种float来掩盖第二个和第三个数字(分别为127.0f和99.0f),但没有成功。#include#includevoidprint_4_bit_num(constchar*label,__m128var){float*val=(float*)&var;printf("%

c++ - std::current_exception 是否应该从类的析构函数中的 catch block 返回非空

我和我的同事认为我们在VisualC++2012和2013中发现了一个错误,但我们不确定。以下代码中对std::current_exception的调用是否应该返回一个非空的exception_ptr?似乎在我们尝试过的大多数其他编译器上:#include#include#includeclassA{public:~A(){try{throwstd::runtime_error("ohno");}catch(std::exception&){std::clog在VisualC++下运行时,我们得到“0”(假,这意味着返回的exception_ptr为空)。其他编译器,例如g++,打印“

c++ - 转换为 JPEG 时损坏的 HEIC 图 block

我在将.HEIC图像转换为jpeg时遇到问题。.HEIC文件是用运行最新ios公测版的iphone拍摄的图像。我正在使用librarynokiaprovided解析文件并从.HEIC文件中提取图像block,将它们转换为jpeg并使用ffmpeg/montage将它们粘合在一起。有太多代码无法将其全部粘贴到这个问题中,所以我将所有代码都放在这个githubrepo中.它非常不言自明,只需几个依赖项就可以运行。它们在repo的README中有解释。顺便说一下,这一切都是在osx上完成的。.HEIC文件包含一个8x6的图像网格(图block),如果将它们放在一起,您将获得完整的图像。简单地

c++ - 链接错误 : undefined reference to EVP_CIPHER_CTX_ and EVP_CIPHER_CTX_init

我在我的代码中使用了crypto++。我不想使用它的依赖项,所以我尝试在我的文件夹中导入crypto++文件并将它们包含在我的.cpp文件中我有以下错误:TEST.cpp:(.text+0x89a0):undefinedreferenceto`EVP_CIPHER_CTX_init'TEST.cpp:(.text+0x8cb0):undefinedreferenceto`EVP_aes_128_cbc'TEST.cpp:(.text+0x8cdd):undefinedreferenceto`EVP_CipherInit_ex'TEST.cpp:(.text+0x8d49):undefi

C++ : Read a file name from the command line and utilize it in my file

如何从命令行读取文件名并在我的C++代码文件中使用它?例如:./cppfileinputFilenameoutputFilename非常感谢任何帮助! 最佳答案 intmain(intargc,char**argv){stringinFile="";stringoutFile="";if(argc==3){inFile=argv[1];outFile=argv[2];}else{cout 关于C++:Readafilenamefromthecommandlineandutilizeiti

c# - IDE 条件 block 突出显示

设置:假设我有一个相当大的程序,并且正在使用#defines和各种包含/排除各种代码片段的方法。即假设我有一段这样的代码example_file.c:include#ifdefTHISdosomethingreallycoolhere#ifdefTHATdosomethingevencooler#endif#endif定义文件.c:#defineTHATTRUE#defineTHISFALSE现在我不知道这两个语句是否会被包含或使用,除非我查看定义。上面是一个简单的示例,但假设您有50个ifdef,并且它们以不同的方式嵌套,要追踪这50个值中的每一个值是什么有点麻烦。问题:是否存在一个

c++ - Unix/C++ : Open new terminal and redirect output to it

我的程序(Solaris10上的C++)在从shell启动时通过wcout将输出写入其终端。但是,当我从SunStudio中执行它时,或者文件管理器没有终端,并且输出出现在SunStudio输出窗口中或根本不出现。我希望它在这三种情况中的任何一种情况下都打开自己的终端窗口,并将wcout附加到该终端窗口。我希望通过C++系统调用来完成程序本身,而不是通过某些shell或脚本执行程序的方式。因为在StudioIDE中执行并在文件管理器中双击仍然具有相同的效果。作为一名Windows程序员对我来说似乎很自然,但我无法在我的Unix书籍或Web中找到这是如何完成的。我是否请求了错误的东西,真

c++ - Bison and doesn't name 类型错误

我有以下文件:CP.h#ifndefCP_H_#defineCP_H_classCP{public:enumCardinalite{VIDE='\0',PTINT='?',AST='*',PLUS='+'};CP(CardinalitemyCard);virtual~CP();private:Cardinalitecard;};#endif/*CP_H_*/和dtd.y%{usingnamespacestd;#include#include#include#include"AnalyseurDTD/DtdDocument.h"#include"AnalyseurDTD/CP.h"voi