草庐IT

my_numeric_cast

全部标签

c++ - 将 reinterpret_cast 输入重新解释为 std::unique_ptr 永远不会真正安全吗?

当使用具有可变大小结构(必须分配为byte[]然后转换为结构)的各种API时,如果unique_ptr持有者可以指向该结构,那将是很好的,因为这就是我们将要做的正在使用。例子:std::unique_ptrv;v.reset(reinterpret_cast(newBYTE[bytesRequired]));这允许`v提供结构本身的View,这是更可取的,因为我们不需要第二个变量,除了删除之外我们不关心字节指针。问题在于可能会在强制转换上对指针进行thunk(使其释放不安全)。我看不出为什么编译器会在cast上更改指针值(因为没有继承),但我听说标准保留对任何cast上的任何指针进行t

C++ static_cast 和引用

structA{};structB:A{};intmain(){Aa;A&a_ref=a;static_cast(a);//*1static_cast(a_ref);//*2return0;}(*1)产生错误,我明白为什么。(*2)编译正常,但为什么呢?而且,只要它编译并假设B包含一些属性,如果我将a_ref转换为B&然后尝试访问属性会怎样?我想我会遇到运行时错误或其他问题。所以,正如我所看到的,有一种情况会导致崩溃,并且没有办法避免它,这与dynamic_cast不同,后者可以检查转换结果是否为null或输入代码在try-catch区域。我如何处理这种情况,我需要转换引用并确保我真的

c++ - ->second 是否为迭代器 my_map.end() 定义?

我正在使用std::map.我想测试是否my_map.find(key)返回一个特定的指针。现在我在做;autoiter=my_map.find(key);if((iter!=my_map.end())&&(iter->second==expected)){//Somethingwonderfulhashappened}然而,operator*迭代器的需要返回一个引用。凭直觉我假设它是有效的并且完全初始化?如果是这样,my_map.end()->second将是NULL,并且(因为NULL从来都不是预期的),我可以将我的if语句减少到:if(iter->second==expected

c++ - 重载 static_cast?

所以,前几天我参加了考试,其中一个问题与此非常相似:我们有一个类叫做Square其中包含一个变量intside.我们怎样才能使cout(aSquare)成为可能会打印出aSquare的面积吗?这可能吗? 最佳答案 有可能做到这一点,但不能通过重载static_cast().您可以通过重载类型转换运算符来实现:classSquare{public:Square(intside):side(side){}operatorint()const{returnside*side;}//overloadedtypecastoperatorpri

casting - 在 Kotlin 中可以进行交叉转换吗?

我在Java中有这样的方法:publicmethodName(Targ,...)其中A是一个类,B是一个接口(interface)。在我的kotlin类中,我有另一个C类型的variable,我希望实现以下目标:if(variableisA&&variableisB){methodName(variable,...)}else{//dosomethingelse}是否可以正确地转换variable以便它可以用作参数而不会出错?Currently,thevariablehasasettermethod,sosmartcastingisn'tavailable.However,Ihavea

casting - 在 Kotlin 中可以进行交叉转换吗?

我在Java中有这样的方法:publicmethodName(Targ,...)其中A是一个类,B是一个接口(interface)。在我的kotlin类中,我有另一个C类型的variable,我希望实现以下目标:if(variableisA&&variableisB){methodName(variable,...)}else{//dosomethingelse}是否可以正确地转换variable以便它可以用作参数而不会出错?Currently,thevariablehasasettermethod,sosmartcastingisn'tavailable.However,Ihavea

windows - my.bat 不是内部或外部命令,也不是可运行的程序或批处理文件

当我登录到此Windows2008R2服务器并启动CMD窗口时,默认目录是:C:\Users\SVC_asl2trim>所以我将其添加到PATH中,然后发布:C:\Users\SVC_asl2trim>setpathPath=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\ProgramFiles\Hewlett-Packard\HPTRIM\;C:\Users\SVC_asl2trim\PATHEXT=.COM;.EXE;.BA

windows - Dummynet 安装失败 : my_socket failed 2, 无法与内核模块对话 (Windows 7 X64)

我正在尝试使用提供的软件包在64位版本的Windows7上安装IPFWhere我能够使用thisstackoverflowanswer中提供的说明成功地将ipfw+dummynet服务添加到我的网络适配器但是,在执行包中提供的ipfw.exe时,我遇到了以下错误:my_socketfailed2,cannottalktokernelmodule需要帮助来解决这个错误,以便ipfw可以从命令行成功运行。 最佳答案 第一种方法解释here为我工作。我也成功地用第二种方法安装了驱动程序,但我必须先自己签署驱动程序,如解释的那样here.要

windows - Paperclip my Image 无法被 'identify' 命令识别。 (运行 Windows)

我正在使用Paperclip调整图像大小,但我一直收到此错误(1个错误禁止保存此项目:图片C:/DOCUME~1/HP_ADM~1/LOCALS~1/Temp/stream,5584,0.jpg无法被“identify”命令识别。)我几乎尝试了所有我在网上找到的东西:将Paperclip.options[:command_path]="C:\ImageMagick-6.6.6-Q16"添加到我的development.rb对project.rb进行更改(删除单引号)我正在使用最新的Ruby/Rails和Paperclip1.3.3运行Windows我刚接触Rails,我不知道该做什么。

java - 使用Java访问windows-my时如何避免智能卡选择弹出窗口

我想使用java中的keystore访问Windows(“Windows-MY”)用户证书库中的证书。这是我使用的代码:KeyStoreks=KeyStore.getInstance("Windows-MY","SunMSCAPI");ks.load(null,null);不幸的是,执行这段代码确实会从窗口打开一个弹出窗口,要求用户选择一张智能卡。在此弹出窗口中单击取消(多次)后,keystore已正确构建并且可以访问证书。在Windows服务下禁用智能卡服务会有所帮助,但智能卡无法再使用(我们在另一个用例中使用智能卡)。如何在没有此弹出窗口的情况下访问Windows应用商店?