草庐IT

dynamic_pointer_cast

全部标签

c++ - 为什么我需要从 `long &` 到 `int &` 的 reinterpret_cast,两者都是 32 位 (Windows LLP64)?

我在跨平台环境中使用Qt。我们遇到了以下问题:在Windows上,int和longint都是32位整数;在64位MacOS和Linux上,int是32位的,longint是64位的(参见https://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models)。因此,跨平台库倾向于提供它们自己的固定位类型定义。在Windows上,Qt将quint32定义为unsignedint并且不使用unsignedlong整数。另一个库将其Uint32定义为unsignedlong。因此,两者实际上都是32位无符号整数,但具有不同的原始数据

c# - C# 4.0 "dynamic"关键字是否使泛型变得多余?

我对C#中的动态特性(C#4dynamickeyword-whynot?)感到非常兴奋,尤其是因为在我的代码的某些库部分中我使用了很多反射。我的问题有两个:1。“动态”是否会像下面的情况那样取代泛型?泛型方法:publicstaticvoidDo_Something_If_Object_Not_Null(SomeTypeObjToTest){//testobjectisnotnull,regardlessofitsTypeif(!EqualityComparer.Default.Equals(ObjToTest,default(SomeType))){//dosomething}}动态

spring - Java 示例 : Dynamic Job Scheduling with Quartz

我想公开一个用户界面来动态定义QuartzJOB。用户应该能够定义JOB属性,如JOB名称、cron表达式或时间间隔、任务的特定java类等。是否有任何开源可以促进此功能?或者,如果我想为动态QuartzScheduler创建自己的模块,应该怎么做? 最佳答案 DynamicQuartzJOBScheduling的示例代码:Maven依赖项org.quartz-schedulerquartz1.8.5org.springframeworkspring-core${spring.version}org.springframeworks

spring - Java 示例 : Dynamic Job Scheduling with Quartz

我想公开一个用户界面来动态定义QuartzJOB。用户应该能够定义JOB属性,如JOB名称、cron表达式或时间间隔、任务的特定java类等。是否有任何开源可以促进此功能?或者,如果我想为动态QuartzScheduler创建自己的模块,应该怎么做? 最佳答案 DynamicQuartzJOBScheduling的示例代码:Maven依赖项org.quartz-schedulerquartz1.8.5org.springframeworkspring-core${spring.version}org.springframeworks

c++ - MISRA C++ 2008 规则 5-2-7 直接或间接违反 : An object with pointer type shall not be converted to an unrelated pointer type,

在下面的例子中:voidbad_function(){char_t*ptr=0;//MISRAdoesn'tcomplainshere,itallowscastofchar*tovoid*pointervoid*p2=ptr;//thefollowing2MISRAviolationsarereportedineachofthecastsbellow(twopercodeline)//(1)Eventmisra_violation:[Required]MISRAC++-2008Rule5-2-7violation:Anobjectwithpointertypeshallnotbecon

c++ - QT 插槽 : Pointer to Member Function error

我目前正在做一个Qt项目,我在SLOT方面遇到了一些麻烦。我想将一个指向成员函数的指针作为SLOT的参数传递。为此,我在类里面声明了SLOT,但是当我这样做时,出现了MOC错误。我不知道我想要实现的目标是否有可能实现。名为MainFrame的类的语法示例:voidslotAnswerReceived(QStringanswer,void(MainFrame::*ptr)(QString));我在任何地方都没有任何连接,没有任何东西使用该功能,我遇到的唯一错误是上面这一行。谢谢大家的帮助。我在网上找不到任何解决方案(但我发现这篇文章解释了SIGNALandSLOTindepth,如果有人

c++ - 如何很好地将 "cast"qint64 转换为 QProgressBar 的 int

我正在使用QFtp(是的..我知道)并且一切正常。使用他们自己示例中的代码作为指导。http://doc.qt.io/archives/qt-4.7/network-qftp-ftpwindow-cpp.html我遇到的唯一问题是在发送(或接收)大文件(比如3GB)时进度条出现故障。这是由于从qint64到int的转换:voidFtpWindow::updateDataTransferProgress(qint64readBytes,qint64totalBytes){progressDialog->setMaximum(totalBytes);progressDialog->setV

C++ 是否 reinterpret_cast 总是返回结果?

我有两个类,A和B。A是B的父类,我有一个函数接收指向A类型类的指针,检查它是否也是B类型,如果是将调用另一个函数,该函数接受一个指向类型B的类的指针。当函数调用另一个函数时,我提供reinterpret_cast(a)作为参数。如果这看起来模棱两可,这里有一个代码示例:voidabc(A*a){if(a->IsA("B")){//pleasedontworrymuchaboutthisline,//myrealconcernisthereinterpret_castdef(reinterpret_cast(a));};};现在您知道我是如何调用“def”的了,我想知道reinterp

c++ - 如何避免在 C++ 中将 const_cast 与 std::vector::erase() 一起使用?

我有这样一个类:templateclassAdjacencyList{public:voiddelete_node(constT&);protected:consttypenamestd::vector::const_iterator_iterator_for_node(conststd::vector&,constT&);};templatevoidAdjacencyList::delete_node(constT&node){_nodes.erase(_iterator_for_node(_nodes,node));}templateconsttypenamestd::vector

c++ - 使用默认值而不是异常来 boost numeric_cast<>?

每当boost的numeric_cast转换失败,抛出异常。boost中是否有类似的模板让我指定一个默认值,或者在这种情况下捕获异常是我唯一能做的?我不太担心所有额外异常处理的性能,但我宁愿使用标准模板也不愿编写无用的包装函数。另外,根据以往的经验,我认为boost很有可能真的有我想的,只是一直没有找到。 最佳答案 numeric_cast函数只是调用boost::numeric::converter具有默认参数的模板类。其中一个参数是OverflowHandler,默认值为def_overflow_handler,但您可以指定si