C/C++开发

使用ifstream、ofstream和fstream

正在尝试将“beave”一词读入文件 稍后将文件内容编辑为用户想要的内容,并将其存储在字符串“line”中 文件从不显示,当我手动检查时,文本文件为空。 #include "stdafx.h" #include #include #include using namespace std; int main() { ..
发布时间:2022-06-17 15:28:22 C/C++开发

处理大型数据二进制文件

我正在处理包含原始数据的大型二进制文件(每个文件大约2 GB)。这些文件具有定义良好的结构,其中每个文件是events的数组,每个事件是data banks的数组。每个event和data bank都有一个结构(header、data type等)。 从这些文件中,我所要做的就是提取我可能需要的任何数据,然后我只需分析和处理这些数据。我可能不需要所有数据,有时我只提取XType数据,其他只需要Y ..

在二进制文件中写入/读取字符串-C++

我搜索了类似的帖子,但找不到对我有帮助的帖子。 我正在尝试首先写入包含字符串长度的整数,然后将该字符串写入二进制文件。 但是,当我从二进制文件中读取数据时,我读取值为0的整数,而我的字符串包含垃圾。 例如,当我键入用户名‘asdfgh’和密码‘qwerty100’时 我的两个字符串长度都是0,0,然后从文件中读取垃圾信息。 这是我将数据写入文件的方式。 std::fstr ..
发布时间:2022-06-17 12:45:53 C/C++开发

中介者模式与发布/订阅

谁能指出两者之间的主要区别吗? 似乎,至少在概念上,这两者是非常密切相关的。如果我大胆猜测,我会说发布/订阅方法是中介模式的子集(因为中介不一定需要以发布/订阅的方式使用,但后者似乎需要一种中介对象)。那接近它了吗? 推荐答案 我如何描述不同之处在于,在Mediator中,您可能关心最终应用程序是否收到消息。因此,您可以使用它来保证谁在接收消息。而在pub/subs上,你只需发布 ..
发布时间:2022-06-16 21:12:45 C/C++开发

在C++中使用正则表达式对字符串进行标记化并保留分隔符

我想修改给定的正则表达式以生成以下匹配列表。我很难用语言来描述这个问题。 我想使用正则表达式来匹配一组“令牌”。具体地说,我希望匹配&&、||、;、(、),并且任何不包含这些字符的字符串都应该匹配。 我遇到的问题是区分一个管道和两个管道。我怎样才能得到想要的火柴呢?非常感谢您的帮助! Link to this example 表达式: ((&{2})|(|{2})|(()| ..
发布时间:2022-06-16 10:01:18 C/C++开发

作为私有成员(c++类)意味着什么?

我对C++类中的私有数据成员感到有点困惑。我是编程新手,还在学习《课程》一章,所以我可能有些超前了,但我觉得我漏掉了一条信息: 假设我有这样的代码: class clocktype; { public: void setTime(int,int,int); . . . private: ..
发布时间:2022-06-14 09:54:20 C/C++开发

C++类(公共、私有和受保护的)

如何声明C++中的类public、private或protected? 推荐答案 在C++中,没有像JAVA或C#那样具有访问说明符的整个类的概念。如果一段代码具有类的可见性,它可以引用该类的名称并对其进行操作。也就是说,这方面有一些限制。例如,您可以引用类并不意味着您可以实例化它,因为构造函数可能被标记为私有。同样,如果类是在另一个类的私有或受保护部分中声明的嵌套类,则该类将无法从该 ..
发布时间:2022-06-14 09:39:48 C/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++开发