C/C++开发

浮点算术:加法顺序为什么重要?

我知道不可能用有限的位数来表示任意精度的所有数字,而且浮点数的天真比较也是不可取的。但我预计,如果我将许多数字相加在一起,我将它们相加的**顺序**并不重要。 为了测试这个预测,我创建了一个随机数向量并计算它们的和,然后对向量进行排序并再次计算和。通常情况下,这两个数字不匹配!这是我的代码(包括在下面)的问题,还是浮点算术的普遍缺陷,或者可能通过切换编译器等来解决的问题? #inclu ..
发布时间:2022-07-15 10:17:26 C/C++开发

静态库是如何工作的?(C/C++)

我知道如何使用和创建它们,但我找不到关于它是如何实现的、函数调用是如何发生的等等的文本,有人可以帮助我了解这些信息吗?因为我想了解它们,而不仅仅是知道它是什么以及它是如何工作的 推荐答案 您可能知道,当您编译一个源文件时,您会得到一个目标文件。根据您的平台,它的扩展名可能是.o、.obj或其他任何文件。静态库基本上是目标文件的集合,有点像.Zip文件,但可能没有压缩。当尝试生成可执行文 ..
发布时间:2022-07-13 10:46:26 C/C++开发

如何用C++模拟鼠标点击?

我需要模拟在应用程序窗口上单击鼠标。我正在使用Windows。 如何将鼠标左键单击发送到窗口所在的坐标屏幕x, y? 推荐答案 使用SendInput()函数: INPUT Inputs[3] = {0}; Inputs[0].type = INPUT_MOUSE; Inputs[0].mi.dx = ...; // desired X coordinate Inputs ..
发布时间:2022-07-12 15:01:27 C/C++开发

尝试构建Hello World程序时收到来自QtCreator的错误消息,但代码仍可执行

我正在一个新系统上进行另一个QtCreator设置,现在当我尝试构建一个Hello World程序时都会遇到错误。关于Qt如何将它们组合在一起,我的C++库似乎有问题。我真的被难住了,任何建议都很感谢。 看多了一点,比我想象的还奇怪。我的几个项目的几行上都有构建错误,但它们实际上正在构建中,可以运行甚至调试!几乎所有Qt类型上都有未知类型名错误,但它仍然工作正常。 所以我对这个问题的了 ..
发布时间:2022-07-11 21:58:05 C/C++开发

2D平台冲突处理

我正在尝试创建一个2D Platform(马里奥类型)游戏,我在正确处理碰撞方面有一些问题。我用C++编写这个游戏,使用SDL进行输入、图像加载、字体加载等。我还通过FreeGLUT库和SDL一起使用OpenGL来显示图形。 我的碰撞检测方法是AABB(轴对齐边界框),这是我真正需要开始的全部内容。我需要的是一种简单的方法,既能检测碰撞发生在哪一边,又能正确处理碰撞。因此,基本上,如果球员与 ..
发布时间:2022-07-11 20:42:13 C/C++开发

GRPC同步服务器限制句柄线程

我使用GRPC CPP示例“helloworold”代码来测试限制句柄线程。但我找不到任何方法来做这件事。 GRPC版本:1.15 Linux:Ubuntu 16.04 我将生成器设置如下: builder.SetSyncServerOption(ServerBuilder::SyncServerOption::MIN_POLLERS, 1); builder.SetSyn ..
发布时间:2022-07-04 21:05:24 C/C++开发

求和等于k的子集的个数

谁能给我解释一下动态算法,它找出了sum等于k的子集的数目。 我在谷歌上搜索,但找不到任何简单的解释!对不起,我的英语很差! 代码如下: int numbers[MAX]; int GetmNumberOfSubsets() { int dp[MAX]; dp[0] = 1; int currentSum = 0; f ..
发布时间:2022-07-04 11:36:00 C/C++开发

C++为堆栈类创建复制构造函数

我定义了一个堆栈类,其中包含用于将值推入和弹出堆栈的方法。 在测试程序文件(如下所示)中,在运行该文件后,发生了一次故障&程序崩溃。我知道这是由于函数f造成的,该函数在两个指针指向内存中的同一位置时会产生错误。如果我在调用函数时注释掉f(S)行,弹出和推入函数就能正常工作,输出也是正确的。 若要修复此错误,我被要求为此类创建复制构造函数以修复上述问题。 我对此不是很熟悉,因此如果有任 ..
发布时间:2022-07-03 21:18:30 C/C++开发

创建驱动程序时出错。设备驱动程序未安装在任何设备上,请使用原语驱动程序(如果提供

由于此错误,我无法创建内核驱动程序。 设备驱动程序未安装在任何设备上,请使用原始驱动程序(如果提供)。 看起来我的inf文件包含了一些错误,尽管我没有更改任何内容。 请帮帮我)) INF文件 ; ; hellodriver.inf ; [Version] Signature="$WINDOWS NT$" Class=System ClassGuid={4d36e97d-e3 ..
发布时间:2022-07-02 15:36:03 C/C++开发

任何类型的数组都是聚合吗?

class A { public: A(){} private: int i; }; A a[8]; C++11标准8.5.1.1规定: “聚合是一个数组或类(第9条),没有用户提供的构造函数(12.1),非静态数据成员没有大括号或等值初始值设定项(9.2),没有私有或受保护的非静态数据成员(第11条),没有基类(第10条),没有虚函数(10.3)。” 因为a是数 ..
发布时间:2022-06-28 22:31:43 C/C++开发

Dlopen是否会创建多个库实例?

在网上搜索后,似乎找不到答案。 当我第一次使用dlOpen时,它似乎比之后的任何时间都要长,包括如果我从一个程序的多个实例运行它。 dlopen是否将SO加载到内存中一次,并让操作系统保存它,以便任何后续调用(即使是来自程序的另一个实例)都指向内存中的同一位置? 那么基本上,运行库的程序的3个实例是否意味着相同.so的3个实例被加载到内存中,或者内存中只有一个实例? 谢谢 ..
发布时间:2022-06-28 16:09:34 C/C++开发

运行时多态到底意味着什么?

我对运行时多态有些困惑。如果我错了,请纠正我,但据我所知,运行时多态意味着函数定义将在运行时得到解析。 举个例子: class a { a(); ~a(); void baseclass(); } class b: class a { b(); ~b(); void derivedclass1(); } class c: class a { c(); ~c(); void deri ..
发布时间:2022-06-28 14:57:51 C/C++开发

运算符重载矩阵乘法

我遇到的问题是如何为K的最内层循环获取正确的列数。 一个例子是2x3矩阵和3x2矩阵相乘。 结果应该是2x2矩阵,但目前我不知道如何将2的值发送给运算符重载函数。 应该是 Int k=0;k<;第一个矩阵的列;k++ Matrix::Matrix(int row, int col) { rows = row; cols = col; cx = (floa ..
发布时间:2022-06-27 17:30:48 C/C++开发

C++运算符重载和访问私有数据变量

我是C++的新手,我正在编写一个实现日期函数的类。 该程序有两个非成员函数bool printDate(const Date& d)和string intToString(const int& n),以及两个用于重载运算符> 朋友函数 指向代码的链接为https://repl.it/NC2H/37 我一直收到类似 的错误 'std::__cxx11::string D ..
发布时间:2022-06-27 17:26:10 C/C++开发