c++相关内容

可以使用GCC来编译带有特定编译器标志的代码文件的一段吗?

可以使用GCC编译带有特定编译器标志的代码文件的一段吗?例如,假设我有一些正在测试的函数。我希望这些函数严格遵守标准,所以我想用--Pedtic标志来编译它们。但是,执行测试的代码在编译时会发出很多警告。有没有办法只编译那些特定的函数,用--Pedtic? 或者,假设我有一个精心编写但极其昂贵的函数,它需要尽可能快地运行。如何才能只用-Ofast编译该函数(以及其他几个函数),而用-O2或- ..
发布时间:2022-06-11 23:51:36 C/C++开发

如何将对象添加到指针

我想弄清楚一个向量如何在它已经创建&q;一些对象之后添加更多的对象: int *ptr; ptr = new int; 在使用该指针之后,如何向该指针添加更多对象?(使其成为数组)。谢谢! 推荐答案 大多数实现都是从一个小数组开始的,每当它达到容量时,就会分配一个大小加倍的新数组,并将旧元素复制到新数组中。 ..
发布时间:2022-06-11 22:32:09 C/C++开发

将堆上的3D数组存储为结构成员

我最近开始使用C++进行数值计算,我希望在模拟过程中使用Struct Operators来存储3D字段。 我用 在堆上创建了3D数组 const unsigned int RES = 256; auto arr3D = new double [RES][RES][RES]; 因为根据我的测试,这种方法比使用Boost_Multiarr、Eigen张量或嵌套向量都要快。 到目前为止,这在我的 ..

在C++中是否兼容Malloc/Free和new/Delete?

很好地比较了Malloc/Free和new/Deletehere,并很好地解释了Malloc()和Free()是如何工作的here。显然,我们不应该将它们混为一谈--使用Free和new,或使用DELETE和Malloc。 我们可以看到很多开源项目,有许多贡献者,同时使用这两种机制,同时尊重上面的“不混合”规则。通常,在一个文件中只有一种方式(一个作者,一个偏好)。我已经分叉了这样一个项目, ..
发布时间:2022-06-11 22:09:48 C/C++开发

重新分配指针时删除运算符的用法

在将指针重新分配给另一个指针时,是否需要始终删除该指针, 示例: int value = 5; int* ptr{ new int{} }; // allocate memory ptr = &value; // old address lost, memory leak results 我知道这有助于防止内存泄漏,但这在所有情况下都是可取的吗?有没有这样一种情况:在ptr=&;值 ..
发布时间:2022-06-11 21:57:07 C/C++开发

C++,新VS Malloc返回值

当我学习C99时,我被告知要始终检查malloc的返回值,以查看它是成功还是失败,但现在我开始学习C++,他们告诉我new不需要这样做,您可以假设它对您总是有效的。 但为什么会这样? 推荐答案 new仍然可能失败并引发std::bad_alloc异常,您的程序需要可能会检查它是否这样做了,或者只是让异常向上传播。您还可以向new传递一个标志,使其行为类似于malloc,并在出错时 ..
发布时间:2022-06-11 21:52:25 C/C++开发

何时使用新建和删除

我正在重读一段时间以前关于C++的代码(我现在正在学校学习Java),我有点困惑什么时候必须使用delete。 例如: 声明两个对象时: Fraction* f1; Fraction* f2; 和创建f1和f2如下: f1 = new Fraction(user_input1, user_input2); f2 = new Fraction(user_input3, user ..
发布时间:2022-06-11 21:42:56 C/C++开发

是否包含`std::Vector`的常量时间`?

我正在使用一些代码,通过将std::vector的地址与描述vector数据范围的地址进行比较,检查std::vector是否在固定时间内包含给定的元素。但是,我怀疑,尽管它可以工作,但它依赖于未定义的行为。如果vector不包含该元素,则不允许进行指针比较。 bool contains(const std::vector& v, const T& a) { return (v.d ..

CUDA:将单个位集与位集数组进行异或

我希望将单个位集与一组其他位集(~100k)进行XOR运算,并计算每个XOR结果的集合位数。单个位集的大小约为20k位。 位集已转换为unsigned int数组,以便能够使用内在__popc()函数。‘Bunch’已连续驻留在设备内存中。 我当前的内核代码如下: // Grid/Blocks used for kernel invocation dim3 block(32); ..
发布时间:2022-06-10 16:08:04 C/C++开发

读取文本文件-fopen与ifstream

谷歌文件输入我发现了两种从文件输入文本的方法-fopen和ifstream。下面是两个代码片段。我有一个文本文件,其中一行包含需要读入的整数。我应该使用fopen还是ifstream? 代码段1-FOPEN FILE * pFile = fopen ("myfile.txt" , "r"); char mystring [100]; if (pFile == NULL) { ..
发布时间:2022-06-10 12:55:14 C/C++开发

以编程方式使用Windows防火墙

我很难在C++中找到任何与Windows防火墙相关的东西(关于如何将应用程序添加到例外列表、关闭端口或禁用对某些应用程序的互联网访问)。我发现甚至连微软网站都显示了用VB编写的示例。 在哪里可以找到C++中的示例? 谢谢 推荐答案 查看MSDN上的文章Exercising the Firewall using C++。 ..
发布时间:2022-06-10 11:05:04 C/C++开发