草庐IT

dynamic-programming

全部标签

c# - 与 C++ 的 dynamic_cast 等效的 C# 是什么?

此C++代码检查o是否为Node*,如果是,则调用d上的方法。if(Node*d=dynamic_cast(o))d->do_it();用C#编写等效项的最短和/或最有效的方法是什么? 最佳答案 假设Node是一个class然后执行以下操作Noded=oasNode;if(d!=null){d.do_it();}如果它是一个struct那么试试这个if(oisNode){((Node)o).do_it();} 关于c#-与C++的dynamic_cast等效的C#是什么?,我们在Stac

C++ dynamic_cast - 多态要求和向下转型

在下面的代码中,同时构造obj在情况1中,我们构造一个derived类对象也是,但其成员函数无法访问obj.因此,在向下转换时(即情况2),使用obj作为来源,我们有构建的derived已经在里面了。为什么obj需要多态吗?如果我上面的描述让你感到困惑,为什么不obj向上转型时需要多态,但向下转型时确实在使用dynamic_cast时需要多态?classbase{public:base(){cout(newderived);//case1:explicitlyupcastingderived*OBJ=dynamic_cast(obj);//case2:error

C++ dynamic_cast 转发声明的类模板编译,但它安全吗?

以下代码在(GCC和clang)中编译并给出预期的结果:templatestructDerived;structBase{templatevoidfoo(T*constt){dynamic_cast*const>(this)->bar(t);}};templatestructDerived:Base{voidbar(Tconst*)const{}};代码将对Base中的foo的调用分派(dispatch)到Derived中的bar。作为引用,以下代码无法编译:structDerived2;structBase2{templatevoidfoo(T*constt){dynamic_cas

windows - C++11 + SDL2 + Windows : Multithreaded program hangs after any input event

我正在使用C++11、MinGW和WindowsAPI开发屏幕捕获程序。我正在尝试使用SDL2实时观察我的屏幕捕获程序是如何工作的。窗口打开正常,只要我只移动鼠标光标,程序似乎运行良好。但是如果我在窗口中单击它的菜单栏,在窗口外,或者按任意键,SDL窗口就会卡住。我已经为事件设置了一些日志记录以弄清楚发生了什么。除了SDL_WINDOW_FOCUS_GAINED之外,我从未收到任何事件,SDL_TEXTEDITING,和SDL_WINDOWEVENT_SHOWN以该顺序。所有这些都是在开始时收到的。我试图找到有关SDL事件处理的教程,因为这是我对问题根源的最佳猜测。除了基本的事件处理之

c++ - 可能的 : Program executing Qt3 and Qt4 code?

也许这是一个很愚蠢的问题,但我希望你能给我一些答案。我有一个商业应用程序,它使用Qt3作为其GUI,并使用嵌入式Python解释器(命令行)编写脚本。我想为这个使用Qt4的应用程序编写一个自定义插件。该插件主要是一个子类QMainWindow类,它与一个boostpython包装器一起链接到一个dll(所以我在Windows上)。python包装器应该是我的插件和我的商业应用程序之间的接口(interface)。所以我的问题是:这可能吗??在同一应用程序中独立于运行Qt4代码运行Qt3代码也是如此。第一个实验导致应用程序关闭,我将尝试进一步调查...谢谢!编辑:我的应用程序崩溃是因为我

UE4 Ultra Dynamic Sky 参数翻译及功能概述

UltraDynamicSky的虚幻商城链接:UltraDynamicSkyUltra_Dynamic_Sky翻译及功能概述basiccontrols基础控制RefreshSettings刷新设置检查此布尔一次,以刷新所有设置;TimeOfDay一天中的时间一天中天空模仿的时间,从0000到2400。例如早上九点半数值为“930”,下午五点35数值为“1735”。SkyMode天空模式确定渲染的云/极光的类型VolumetricClouds体积云StaticClouds静态云2DDynamicClouds二维动态云NoClouds没有云2DCloudsusingColorCurves(Lega

windows - postgres COPY (...) TO PROGRAM on Windows 给出错误

我正在尝试使用COPY语句转储PostgreSQL表。我正在使用COPY而不是pg_dump,因为我需要在其中一列出现时对其执行转换。我要执行的语句本质上是这样的COPY(SELECT'punt')TOPROGRAM'7za-siC:/Users/Public/Documents/punt';但是我遇到了一般错误ERROR:program"7za-siC:/Users/Public/Documents/punt"failedDETAIL:childprocessexitedwithexitcode1我正在尝试通过类似于thefourthexample的7zip传递COPY输出在COPY

windows - 我的程序应该如何决定安装在 "Program Files (x86)"下?

出于好奇,如果我正在创建程序安装程序,我应该如何决定安装到哪个“ProgramFiles”目录?在32位系统上,环境变量“%programfiles%”就足够了。但是,在64位系统上,32位程序不应安装到该文件夹​​,而应安装到“%programfiles(x86)%”,据我所知,它指向“C:\ProgramFiles(x86)”。我的问题是:安装程序应该如何决定使用哪个环境变量?对于32位应用程序,“%programfiles%”的值会发生变化吗?还是我应该始终在使用“%programfiles%”之前首先检查“%programfiles(x86)%”是否存在,或者我应该做一些完全不

windows - Qt/C++ : Icons not showing up when program is run under windows O. 小号

我正在使用QT4.7.0。我在Windows中创建了一个项目。我在按钮上使用了一些图标,但是当我将.exe文件移动到另一台Windows机器时,图标不显示。如果我在开发机器上运行程序,就会出现图标。我创建了一个qrc文件并向其中添加了图标。 最佳答案 可能是您遇到了插件问题。QT带有许多插件,您的应用程序无法在新目标上找到它们。查看thisthis关联。将插件复制到新目标并使用qt.conf方法指示插件路径。 关于windows-Qt/C++:Iconsnotshowingupwhenp

c++ - 无法访问 "Program Files"中的 INI 文件

我编写了这个C++应用程序,它需要检查一个INI文件(“preference.ini”),并最终修改它(例如,如果用户不想再看到介绍表格)。我在WinXP中创建它,它在我编译它的系统上运行良好(在许多位置,包括“程序文件”)。问题:在Win7中,如果我将完整的程序文件夹放在“C”下,它工作正常:\”(例如“C:\MyProgram”),但如果我把它放在“C:\ProgramFiles(x86)\MyProgram”,它只是检索一些神秘数据(我的INI文件中不存在的值)。当我更改一些设置并将它们保存到文件时,它(显然)保存更改(没有错误,但是当我打开文件时更改不存在...我在另一个Win