小编Rob*_*obb的帖子

RegEx引擎如何工作

在学习正则表达式时,我想知道底层引擎是如何工作的.可能更具体地说,我想更多地了解它如何评估,优先考虑和解析表达.我觉得RegEx引擎对我来说是一个黑盒子,我真的很喜欢破译它.

所以我想问一下,在讨论RegEx引擎理论时是否有一些我可以阅读的优秀资源.

*注意:我对构建引擎不感兴趣,只是学习引擎的内部工作原理.

regex theory

34
推荐指数
1
解决办法
8014
查看次数

ifstream相当于FILE*的倒带方法

我的任务是将一些C代码更新为C++并且好奇,ifstream中C FILE*的倒带方法的等效方法或实现是什么?

c c++

12
推荐指数
1
解决办法
1万
查看次数

处理c ++中的大量数据

我有一个应用程序,有时会利用大量的数据.用户可以选择加载图形显示中使用的许多文件.如果用户选择的数据多于操作系统可以处理的数据,则应用程序会很难崩溃.在我的测试系统上,这个数字大约是2 GB的物理RAM.

处理这种情况的好方法是什么?我从新的尝试捕获中得到了"坏的分配",但我仍然遇到了崩溃.我觉得好像我正在艰难的水域中加载这么多数据,但这个应用程序需要处理这种大数据负载.

编辑:我现在正在32位Windows系统下进行测试,但该应用程序将运行在各种版本的Windows,Sun和Linux上,大多数是64位但是大约32位.

错误处理并不强大:它只是用一个try catch块包装主实例化代码,catch捕获每个另一个对等方的抱怨,即每次都无法捕获bad_alloc.

我认为你们是对的,我需要一个内存管理系统,它不会将所有这些数据加载到RAM中,它就像是这样.

编辑2:路德说得最好.谢了,兄弟们.现在,我只需要一种方法来防止崩溃,并且应该可以进行适当的异常处理.但在未来,我将实施该接受解决方案.

c++ memory-management

11
推荐指数
1
解决办法
9092
查看次数

将数据结构传递给不同的线程

我有一个将产生多个线程的应用程序.但是,我觉得线程访问数据不一定存在问题.

这是线程应用程序的结构(抱歉粗略):

                   MainThread
                  /          \
                 /            \
                /              \
        Thread A               Thread B
       /        \              /       \
      /          \            /         \
     /            \          /           \
Thread A_1     Thread A_2   Thread B_1    Thread B_2
Run Code Online (Sandbox Code Playgroud)

在每个字母线程(可能很多)下,只有两个线程,它们按顺序触发.我遇到的问题是我不完全确定如何将数据结构传递到这些线程中.

因此,数据结构在MainThread中创建,将在特定于该线程的字母线程(线程A等)中进行修改,然后将该数据结构中的成员变量发送到Letter_Numbered线程.

目前,字母线程类有一个成员变量,当构造类时,来自mainthread的数据结构通过引用传入,调用复制构造函数,以便字母线程拥有它自己的副本.

lettered_numbered线程只是从字母线程中的数据结构中获取一个字符串变量.我的问题是,这是可以接受的吗?有没有更好的方法来确保每个字母线程获得自己的数据结构?

对不起有些不好的解释,请留下评论,我会尽力澄清.

编辑:所以我的字母线程构造函数应该采取数据结构的VALUE,而不是引用?

c++ multithreading design-patterns

6
推荐指数
1
解决办法
3629
查看次数

Jackson自定义映射器将字节数组转换为字符串

我对杰克逊来说是一个令人难以置信的新手,我在理解如何完成某些事情时遇到了问题.

我有一些类型byte[]的数据(数据在JAXB生成的类中).在将数据发送到浏览器之前,Jackson然后(我相信)将其转换为JSON,以便网页可以使用它.到目前为止,至少这是我粗略的理解.

JSON数据显示我的byte []字符串,它与我们想要的显示不匹配.例如,实际数据可能是,CAFEDEAD但JSON字符串看起来像3q2+78r+.我希望JSON包含字符串CAFEDEAD

我的问题是,在创建最终的JSON之前,我可以为Jackson编写一些自定义内容,将byte[]数据转换为可读的十六进制字符串吗?或者如果没有,我还有其他选择吗?

我可以访问javascript,所以如果有办法将JSON字符串重新打开,我也可以使用它.

javascript java jackson

5
推荐指数
1
解决办法
9333
查看次数

这个构造函数是否可以接受?

假设我有一个正确实现了复制构造函数和重载=运算符的c ++类.通过正确实施,我的意思是他们正在工作并执行深层复制:

Class1::Class1(const Class1 &class1)
{
  // Perform copy
}
Class1& Class1::operator=(const Class1 *class1)
{
  // perform copy
  return *this;
}
Run Code Online (Sandbox Code Playgroud)

现在让我说我也有这个构造函数:

Class1::Class1(Class1 *class1)
{
   *this = *class1;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是上述构造函数是否可以接受?这是我继承和维护的代码.

c++ oop copy-constructor

3
推荐指数
1
解决办法
167
查看次数

对于一个小项目的想法,我应该使用Python吗?

我有一个项目的想法,但不确定使用Python是否是一个好主意.

首先,我是一名具有一定SQL经验的C++和C#开发人员.我的日常工作是C++.我有一个项目想法,我想创建并考虑用我不知道的语言开发它.Python似乎很受欢迎,引起了我的兴趣.我绝对在编程中使用OOP,我理解Python可以正常使用这种风格.我可能会对此有所了解,我只阅读有关该语言的一些小部分内容.

该项目不会公开或任何东西,只是纯粹我自己创作的东西在家里涉猎.

因此,该项目基本上代表了我所拥有的简单游戏理念.游戏大致包含以下内容:

  • 用于保存特定信息的数据结构(将是强类型的).
  • 一种为玩家输出游戏状态的方法.这完全是在空中,它可以是图形或文本为基础,我真的不在乎这一点.
  • 一种在诸如数据库或文件系统之类的东西中为玩家保存游戏数据的方法.
  • 我输入信息的相对简单的方法和处理变化的"GO"按钮,显然创建了一个新的游戏状态.
  • 游戏的功能类似于棋盘游戏.

当我回顾那个清单时,真的没什么特别的.这是学习Python的有趣方式还是我应该选择其他语言?

python oop

2
推荐指数
2
解决办法
770
查看次数

内存使用和最小化

我们有一个相当图形密集的应用程序,它使用FOX工具包和OpenSceneGraph,当然还有C++.我注意到在运行应用程序一段时间后,似乎存在内存泄漏.但是,当我最小化时,似乎释放了大量内存(如Windows任务管理器中所见).当应用程序恢复时,内存使用率会攀升,但会达到低于最小化之前的数量.

这是一个巨大的指标,我们有一个令人讨厌的内存泄漏?或者这可能与Windows如何处理图形应用程序有关?我不确定发生了什么事.

c++ memory graphics memory-leaks openscenegraph

2
推荐指数
1
解决办法
474
查看次数