草庐IT

int-vs-trunc

全部标签

c++ - 按值传递 std::function<bool (int)>

我是想曝光typedefstd::functionFilter;这是的一部分#include这样用户就可以创建过滤器并将其传递到我的组件中进行处理。该要求要求处理不能在模板函数中完成。我知道在接口(interface)上使用STL不是一个好的做法,因为Filter类型的大小取决于STL实现。除了原始函数指针或由模板函数接收的仿函数,我还有哪些替代选择。 最佳答案 大小在这里不是很重要,但如果使用您的库的某个人使用不同的STL实现,那么您的代码将无法使用,那么另一种选择是什么?我将为此使用一个接口(interface)(纯虚拟类):s

C++: "error C4430: missing type specifier - int assumed"对于构造函数和析构函数的无效声明

我有这个CResources类声明,我得到这个错误"errorC4430:missingtypespecifier-intassumed"#include#includeconstintR_NUMBER=5;typedefenum{M,}OBJECT_ENUM;typedefenum{FILE_O,}RESOURCE_ENUM;typedefstruct_resourcesMapping{CBufferapiBuffer;intObjectIndex;};classCResources{intrCount;int*resources;public:CResources(int);~CR

c# - VS2012 是一个 BSOD 原因

经过36小时的研究和检查,我明白了。VS2012是'processhaslockedpages'蓝屏后的原因。我试图打开一个线程来获取网络上的事件IP(使用C#)。显然,当您在线程处于事件状态时按下“停止”按钮时,窗口会崩溃。这是线程代码:privatevoidButton_Click_2(objectsender,RoutedEventArgse){varthread=newThread(()=>TryToConnect(targetsList));thread.SetApartmentState(ApartmentState.STA);thread.Start();thread.J

c++ - 在VS2010中调试C++程序

我有两个C++程序让我们说“test1”和“test2”二进制文件使用VS2010在Windows中构建。我的逻辑是“test1”启动“test2”。现在我想在test1启动时通过“test2”逐步调试,所以我在test2的程序中保留断点并构建调试二进制文件。现在我开始发布版本的“test1”并且正如预期的那样启动了test2(注意我没有发布版本的test2构建)所以我们知道只有调试版本被启动。但是当test2开始时,我希望在断点处停止,但它并没有停止。当我从VSIDE启动test2的调试版本时,它在断点处停止。当test2被test1启动时,我们如何调试呢?我们如何在Windows中

c++ - 将 int 类型转换为 double C++

我是编程新手,这可能是一个显而易见的问题,尽管我终生无法弄清楚为什么我的程序没有以double形式返回。我想编写一个股票程序,接收股票、价格的全部美元部分和小数部分。小数部分将作为两个int值输入,并包含一个具有3个int值的函数定义。该函数以double形式返回价格。#includeusingnamespacestd;intprice(int,int,int);intmain(){intdollars,numerator,denominator,price1,shares;charans;do{cout>dollars>>numerator>>denominator;cout>sha

windows - 在 Windows PowerShell 中运行 VS 2017 构建工具

我不喜欢IDE,所以我安装了VS2017构建工具,这样我就可以通过命令行工作了。安装很顺利,在WindowsCMD下一切正常,但是,PowerShell要好得多,而且我更喜欢使用PS。这里的问题是根据MSDN:TheVisualC++command-linetoolsusethePATH,TMP,INCLUDE,LIB,andLIBPATHenvironmentvariables,andmayalsousetool-specificenvironmentvariables.Becausethevaluesoftheseenvironmentvariablesarespecifictoy

c# - 辅助功能 : Managed vs Unmanaged code

我即将开始为Windows(针对XP到7)开发辅助功能项目,并希望就使用托管代码与非托管代码的优缺点提供一些建议。基本上,该软件需要能够从打开的窗口中读取文本、访问菜单,以及JAWS或其他屏幕阅读器等程序能够执行的其他常用功能。问题是,我可以使用C#执行此操作还是需要使用C++?在过去的两年里,我一直在开发大量C#代码,因此看来最快的入门方法是使用System.Windows.Automation命名空间。另一方面,我已经有一段时间没有做过太多C++或COM编程了,在使用非托管代码之前必须花一些时间来刷新。将C#代码用于辅助功能软件有哪些限制?它们是否严重到足以证明我有理由投入大量时间

c++ - VS2013 上 Windows 上的全局包含路径

我应该为我的系统添加一个全局包含路径(即它是GoogleTest,所以我需要包含“C:\gtest\include”)我将它附加到PATH环境变量并重新启动VS2013。然而,VS2013仍然提示缺少.h文件。这个IDE有什么问题?!? 最佳答案 首先,您绝对不需要PATH环境变量。您确实需要INCLUDE环境变量。其次,使用像SETINCLUDE=C:\gtest\include;%INCLUDE%这样的语句来设置它。第三,这只会在您正在运行命令行构建的命令窗口中起作用。第四,尝试使用这台PC的属性“高级系统设置”环境变量对话框在

windows - 如何在 Windows 下的 VS Code 中运行后台任务?

我在package.json文件中设置了一些脚本,它们应该在后台运行,比如"scripts":{"babel-watch":"babelclient-d_tmp/babel-w","server":"nodeserver.js","background":"startnpmrunbabel-watch&&startnpmrunserver"}我想从VSCode运行background任务,所以我这样设置tasks.json(省略了一些行):"command":"npm","args":[],"isShellCommand":true,"showOutput":"always","sup

C++程序在VS2008中运行缓慢

我有一个用C++编写的程序,它打开一个二进制文件(test.bin),逐个对象读取它,并将每个对象放入一个新文件中(它打开新文件,写入(附加),并关闭它)。我使用fopen/fclose、fread和fwrite。test.bin包含20,000个对象。此程序在使用g++的linux下运行1秒,但在VS2008中以调试/Release模式运行1分钟!我不分批执行它们或不将它们保存在内存中或任何其他类型的优化是有原因的。我只是想知道为什么它在windows下这么慢。谢谢, 最佳答案 我相信当您在Windows中关闭文件时,它每次都会将