草庐IT

VC_runtime

全部标签

c++ - 为什么VC++引入非标准关键字: __leave?

根据MSDN:The__leavestatementismoreefficientbecauseitdoesnotcausestackunwinding.以我的理解,就是说:“这样一个普通的代码片段是危险的!”structA{int*p;A():p(newint){}~A(){deletep;}};voidf(){__try{Aa;...//Doingsomthingif(thethinghasgonebad)__leave;...//Continue}__finally{}}在C++项目中完全避免__leave是最佳实践吗? 最佳答案

c++ - VC 2013 与 2015 中的 Lambda 删除器

我正在将一些旧代码从VC2013移至2015。下面的简化代码在VC2013中运行良好,但在2015年失败:errorC2664:'voidmain::::operator()(main::D*&)const':cannotconvertargument1from'main::D*'to'main::D*&'我不是在寻找解决方案,而是在寻找更改内容和更改原因的解释。谢谢。#includeintmain(){classD{};automydel=[](D*&p){deletep;p=0;};std::unique_ptrup(newD);return0;} 最佳

c++ - VC++ 项目 : MSXML vs any other XML libraries

我们知道基于COM技术的MSXML。我们想将它用于即将开始的VC++项目。与MSXML相比,还有其他XML库做得更好吗? 最佳答案 TinyXML-一个C++开源库 关于c++-VC++项目:MSXMLvsanyotherXMLlibraries,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2403567/

力扣报错runtime error: load of null pointer of type ‘int‘解决思路

记录本算法小白刷力扣的这道题遇到的报错349.两个数组的交集https://leetcode.cn/problems/intersection-of-two-arrays/出现报错的代码 /***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*/int*intersection(int*nums1,intnums1Size,int*nums2,intnums2Size,int*returnSize){inthash[1000]={0};intresult[1000];//交集是去重的,最多只有1000个数for(inti

c++ - 有没有更好的方法将命令行参数传递给我的 VC++ 程序?

我正在用C++编写一个程序,它需要一些命令行参数。我知道在VSC++中传递命令行参数的唯一方法是打开属性并导航到命令行参数字段并输入它们,然后运行它。如果我想在每次运行时都传递不同的参数,那不是完全精简的。另一种选择是在放置可执行文件的目录中打开一个命令提示符,然后从那里的命令行运行它,但是如果我想使用调试器,我必须附加它,这很痛苦也。有更好的方法吗? 最佳答案 如果只是为了快速测试或其他什么,您可以在main方法中创建局部变量而不是传入参数。这样可以更快/更容易地更改它们。 关于c++

C++0x random_device 'std::runtime_error'

我是C++初学者,我对C++0x随机数生成器有疑问。我想使用Mersennetwister引擎来生成随机int64_t数字,并且我使用我之前找到的一些信息编写了一个函数:#include#includeint64_tMyRandomClass::generateInt64_t(int64_tminValue,int64_tmaxValue){std::random_devicerd;std::default_random_enginee(rd());unsignedchararr[8];for(unsignedinti=0;i(arr[0])|static_cast(arr[1])(a

c++ - 为什么 VC++ 编译代码而 clang 不编译?

我使用VS2015(Update3)编译以下代码:#include#include#includeintmain(){std::functionfn=std::isspace;}如果我用VC++编译就可以了。但是,如果我在VisualStudio中将编译器更改为VisualStudio2015-ClangwithMicrosoftCodeGen(v140_clang_c2),clang会报告错误:main.cpp(7,26):error:noviableconversionfrom''to'std::function'std::functionfn=std::isspace;更奇怪的是

c++ - 如何找到 VC++ v10 中的新增功能?

使用谷歌搜索或搜索“VC++What'snewC++0x”都没有告诉我什么是新的。msdn上是否有官方页面或包含VC++10信息的类似内容?我看过C#的此类内容,一定有一本我喜欢阅读。如果没有,请列出VisualStudio2010forVC++中可用的新功能。 最佳答案 VisualC++TeamBlog经常有关于Studio2010中VC++的新增功能的文章。这不是一个详尽的列表,但确实详细介绍了许多新添加的内容。还有anMSsite其中列出了一些新内容。 关于c++-如何找到VC+

c++ - 在 VC++ 2010 中使用 C++ 技术报告 1 (TR1)

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭12年前。如何在VisualC++2010中使用C++TR1库?

c++ - native VC++ 使用外部(非项目)dll 引用如何指定 dll 的路径

我有一个使用dll的nativeVC++项目(不在项目中)。现在,我必须将dll放在“Windows用于查找DLL的搜索路径”中link但我不希望dll位于可执行目录或当前目录或windows或系统目录中。所以我唯一的选择是将路径添加到%PATH%环境变量。还有其他办法吗?是否有一种优雅的方式(添加到PATH)?我应该在安装时这样做吗?如果我这样做,我应该担心吗? 最佳答案 总结我发现的所有技术:如果您使用托管项目作为启动项目(这实际上是我的情况)使用环境类stringtemp="myFullDirectoryPathToDll";