C++ 中的成员函数指针 for_each

2024-03-12

我正在为一个学校项目开发一个 C++ 小型虚拟机,它应该像 dc 命令一样工作,由输入输出元件、芯片组、CPU 和 RAM 组成。我目前正在研究芯片组,其中我实现了一个小的解析类,以便能够从标准输入或文件中获取一些 Asm 指令,然后将这些指令推送到 CPU。

问题是:我的指令在 std::list 中排序,我希望能够使用 foreach 指令逐个推送它们。为此,我需要能够调用我的成员函数“push_instruction”作为 for_each 的函数指针 F;而且我找不到做到这一点的技巧......

有任何想法吗? 这是我的代码:

/*
** Function which will supervise
** the lexing and parsing of the input (whether it's std_input or a file descriptor)
** the memory pushing of operands and operators
** and will command the execution of instructions to the Cpu
*/
void                    Chipset::startExecution()
{
    /*
    ** My parsing 
    ** Instructions
    **
    */

    for_each(this->_instructList.begin(), this->_instructList.end(), this->pushInstruction);
}


void                    Chipset::pushInstruction(instructionList* instruction)
{
    if (instruction->opCode == PUSH)
      this->_processor->pushOperand(instruction->value, Memory::OPERAND, Memory::BACK);
    else if (instruction->opCode == ASSERT)
      this->_processor->pushOperand(instruction->value, Memory::ASSERT, Memory::BACK);
    else
      this->_processor->pushOperation(instruction->opCode);
}

std::for_each(
    _instructList.begin(), 
    _instructList.end(), 
    std::bind1st(std::mem_fun(&Chipset::pushInstruction), this));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 中的成员函数指针 for_each 的相关文章

  • 有没有快速创建集合的方法?

    目前我正在创建一个像这样的新集 std set a s s insert a1 s insert a2 s insert a3 s insert a10 有没有办法创建s在一行 int myints 10 20 30 40 50 std s
  • QCombobox 向下箭头图像

    如何更改Qcombobox向下箭头图像 现在我正在使用这个 QSS 代码 但这不起作用 我无法删除向下箭头边框 QComboBox border 0px QComboBox down arrow border 0px background
  • 为什么在创建矩阵类时使用向量不好?

    对于我的矩阵类 我做了 template
  • 指向特征矩阵的指针数组

    我在代码中使用 Eigen 的 MatrixXd 矩阵 在某个时刻我需要一个 3D 矩阵 由于 Eigen 没有三维矩阵类型 因为它仅针对线性代数进行了优化 因此我创建了一个 MatrixXd 类型的指针数组 Eigen MatrixXd
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 动态生成的控件 ID 返回为 NULL

    我可以在 Page PreInit 函数中创建动态控件 如何检索控件及其 ID 我的 C 代码用于创建动态控件之一 var btn new WebForms Button btn Text btn ID Addmore btn Click
  • vs2008 c#:Facebook.rest.api如何使用它来获取好友列表?

    如何在此基础上取得进一步的进步 获取好友列表的下一步是什么 string APIKey ConfigurationManager AppSettings API Key string APISecret ConfigurationManag
  • 为什么 set_symmetry_difference 无法与比较器一起使用?

    Example program include
  • C++ php 和静态库

    我创建了一个library a 其中包含 cpp 和 h 文件 其中包含很多类 嵌套类和方法 我想在 php 示例中包含这个静态库并尝试使用它 我想提一下 我是 php 新手 我已经在 test cpp 文件中测试了我的 libray a
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 如何在标准 WPF ListView 中启用 UI 虚拟化

    我正在使用 NET 4 5 VS2012 并且我有一个 ListView 看起来像这样
  • 无法在内存位置找到异常源:cudaError_enum

    我正在尝试确定 Microsoft C 异常的来源 test fft exe 中 0x770ab9bc 处的第一次机会异常 Microsoft C 异常 内存位置 0x016cf234 处的 cudaError enum 我的构建环境是 I
  • 每个租户的唯一用户名和电子邮件

    我正在使用以下代码编写多租户应用程序ASP NET Core 2 1 我想覆盖默认的与用户创建相关的验证机制 目前我无法创建多个具有相同的用户UserName My ApplicationUser模型有一个名为TenantID 我想要实现的
  • 将标量添加到特征矩阵(向量)

    我刚刚开始使用 Eigen 库 无法理解如何向所有矩阵成员添加标量值 假设我有一个矩阵 Eigen Matrix3Xf mtx Eigen Matrix3Xf Ones 3 4 mtx mtx 1 main cxx 104 13 error
  • 我可以让 ungetc 取消阻止阻塞的 fgetc 调用吗?

    我想在收到 SIGUSR1 后使用 ungetc 将 A 字符重新填充到标准输入中 想象一下我有充分的理由这样做 调用 foo 时 stdin 中的阻塞读取不会被收到信号时的 ungetc 调用中断 虽然我没想到它会按原样工作 但我想知道是
  • 使用taskkill停止Windows服务

    我需要帮助来使用 C 终止 Windows 服务 现在要终止该服务 请使用以下选项 从命令 sc queryex ServiceName 发现后PID服务的 taskkill pid 1234 exemple f 为了便于阅读 但如果您明白
  • 您是否将信息添加到每个 .hpp/.cpp 文件的顶部? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 创建新的 C 头文件 源文件时 您会在顶部添加哪些信息 例如 您是否添加日期 您的姓名 文件描述等 您是否使用结构化格式来存储此信息 e g F
  • 如何在 DropDownList 中保留空格 - ASP.net MVC Razor 视图

    我在视图中通过以下方式绑定我的模型 问题是我的项目文本是格式化文本 单词之间有空格 如下所示 123 First 234 00 123 AnotherItem 234 00 123 Second 234 00 我想保留此项目文本中的空格 即
  • 使我的 COM 程序集调用异步

    我刚刚 赢得 了在当前工作中维护用 C 编码的遗留库的特权 这个dll 公开使用 Uniface 构建的大型遗留系统的方法 除了调用 COM 对象之外别无选择 充当此遗留系统与另一个系统的 API 之间的链接 在某些情况下 使用 WinFo
  • 使用 QtWebEngine 将 C++ 对象暴露给 Qt 中的 Javascript

    使用 QtWebkit 可以通过以下方式将 C 对象公开给 JavascriptQWebFrame addToJavaScriptWindowObject如中所述https stackoverflow com a 20685002 5959

随机推荐

  • jQuery 克隆表行

    我有一个表 末尾有一个 添加 按钮 当您单击此按钮时 我希望在当前行下方创建一个新的表行 我还希望该行的输入字段为空 我尝试使用 clone 来执行此操作 但它会克隆页面上的所有行 请帮忙 谢谢 Script input tr clone
  • 位置侦听器从服务工作,但不是 IntentService

    我有一个应用程序 我试图定期获取用户位置并将其发送到服务器 我有一项服务附加到AlarmManager每分钟执行一次 用于测试 该服务正确找到用户位置并注销 GPS 坐标 一旦出现 GPS 锁定 我就会取消位置请求并停止服务 当我请求位置更
  • C++ 2D 曲面细分库?

    我有一些凸多边形存储为点的 STL 向量 或多或少 我想要镶嵌 http en wikipedia org wiki Tesselate它们非常快 最好分成大小相当均匀的块 并且没有 条子 我将用它来将一些物体分解成小碎片 有谁知道一个很好
  • 如何使用线程在java中暂停执行

    我以编程方式创建了一个向导 它包含 3 个面板 第二个是devicePane 第三个是detailsPane 第三个面板包含一个进度条 我希望我的程序启动一个功能process 显示第三个面板后 可以使用线程吗 else if Parser
  • HTML+CSS 中的不确定进度条

    我想创建一个不确定的HTML CSS进度条所以它看起来像 Vista 上的那个 source microsoft com http i msdn microsoft com dynimg IC121865 png 我想 水平调整进度条宽度
  • 在同一终端中同时运行多个命令

    I want to run a few commands each of which doesn t quit until Ctrl C is pressed Is there something I can run to run all
  • 客户愤怒,与未知的 DLL 依赖项作斗争

    我是一位为客户开发 C Windows 应用程序的单人秀 在过去的几个月里 我们一直遇到同样的问题 即客户计算机上缺少 DLL 依赖项 尽管我尽了最大努力 但问题仍然存在 我们收到了愤怒的电子邮件 我的老板和我老板的老板对我很生气 顾客也不
  • 如何在 Swift 中将*正数*转换为数字数组

    我想转换一个positive数字到相应的数字列表中 数字也应该是整数 转换时 例如 1024 它应该返回 1 0 2 4 在 Swift 4 1 或更高版本中 let number 1024 let digits String number
  • 部署时使 Google Cloud Function 的 Firebase 缓存失效

    我最近使用 Cloud Functions 和 Firebase Hosting 实现了 SSR 当 JS 包构建时 它会收到一个缓存突发后缀 main 1 js 在我的函数内部 我有以下代码段用于缓存云函数的结果 res set Cach
  • winapi 中子窗口编辑控件上的 WS_TABSTOP

    在我的 WinAPI 应用程序中 我的子窗口中有一系列编辑控件 我希望用户能够通过按 Tab 键前进并按 Shift Tab 键返回来在它们之间移动 但我似乎不知道如何使用WS TABSTOP与子窗口 我想要发生的是 当用户单击 Tab 键
  • 将 HTML 元素的引用传递给自定义挂钩

    假设我有一个自定义挂钩 我将使用它来将单击事件侦听器添加到 HTML 元素中 我创建参考const buttonRef useRef null 因此第一次渲染时的值为 null ref 值仅在渲染方法的final 中分配 此时我的自定义钩子
  • 最低权限的身份服务器无法在 Azure 上正常工作

    我正在尝试实现一个遵循 OAUTH2 OIDC 协议的架构 为了做到这一点 我为客户端提供了 STS Identity Server v3 ASP NET WebApi 和 ASP NET MVC 应用程序 我的目标是将 STS 和 RES
  • 如何获取目录中的目录列表,如 list.files(),但改为“list.dirs()”

    我能够使用list files 获取给定目录中的文件列表 但如果我想获取目录列表 我该怎么做 它是否就在我面前作为一个选项list files 另外 我使用的是 Windows 所以如果答案是使用某些 Linux unix 命令 那对我来说
  • 将 Python SIGINT 重置为默认信号处理程序

    版本信息 操作系统 Windows 7 Python版本3 3 5 下面是我正在玩的一小段测试代码 目的是忽略CTRL C在执行某些代码时按下 之后CTRL C行为将会恢复 import signal import time try mar
  • 为什么 32 位内核可以运行 64 位二进制文​​件?

    在我的 OS X 机器上 内核是 32 位二进制文 件 但它可以运行 64 位二进制文 件 这是如何运作的 cristi diciu file a out a out Mach O 64 bit executable x86 64 cris
  • 如何为用户/连接设置一些上下文变量

    我目前使用 Firebird SQL 作为我的共享软件的数据库后端 还想支持 PG 9 3 在 FB 中 我使用 set get context 来执行此操作 设置上下文 http www firebirdsql org refdocs l
  • 如何在 swift 中下载 Pdf 文件并在文件管理器中查找

    我已经使用下面的代码下载了 pdf 我能够在应用程序数据容器中找到该文件 但从应用程序数据容器中我的设备需要 Mac x 代码或 iTunes 等 我可以给出文档的不同路径或在 iPhone 文件中查找 pdf 的其他位置吗 我可以选择使用
  • vba 是在相等比较中被视为零的空值

    我试图跳过值为零或为空的记录 截至目前 我有以下代码可以明确检查两者 但我觉得第二次检查是多余的 但我想确认我是对的 以便我可以删除 IF 的第二部分 IF CellInValue RowInCrnt ColInCrnt 0 Or Cell
  • git 分支切换 Laravel 时发生 ReflectionException 类不存在

    因此 在决定创建此问题之前 我阅读了大约 100 篇有关此问题的帖子 这个问题实际上非常具体 并且 100 可重现 我创建了一个 git 分支 我们可以称之为storeUpdate 在这个分支中我创建了一个名为 app Http Contr
  • C++ 中的成员函数指针 for_each

    我正在为一个学校项目开发一个 C 小型虚拟机 它应该像 dc 命令一样工作 由输入输出元件 芯片组 CPU 和 RAM 组成 我目前正在研究芯片组 其中我实现了一个小的解析类 以便能够从标准输入或文件中获取一些 Asm 指令 然后将这些指令