小编Lai*_*ura的帖子

汇编语言如何运作?

我很好奇汇编语言是如何工作的 - 我仍然很普遍,因为我不是只谈论intel x86汇编(尽管它是我唯一熟悉的汇编语言).要更清楚一点......

mov %eax,%ebx
Run Code Online (Sandbox Code Playgroud)

计算机如何知道"mov"这样的指令是什么?怎么知道eax和ebx是寄存器?人们会为汇编语言编写语法吗?他们怎么写这个?我想没有什么是从编写替代了汇编语言停止某人mov的东西,如指令doghorse等,(显然这不是语义在所有)

对不起,如果这不是太清楚,但这是我觉得有点令人费解的事情 - 我知道它不是魔术,但我看不出它是如何工作的.我在维基百科上查了一些东西,但它似乎只是将它翻译成机器代码,好吧,我问的是我认为翻译是怎么发生的.

思考?

编辑:我意识到这些东西是在参考手册和事情中定义的,我想我想知道的是你如何告诉你的处理器"好的,当你看到mov你要这样做"时.我也知道它可能是一大堆逻辑门.但是处理器必须有一些方法来识别那mov就是"使用这些逻辑门"的符号

hardware assembly grammar

13
推荐指数
3
解决办法
2万
查看次数

C++,为二叉树实现自定义迭代器(长)

请你好 - 这是我的第一个问题.= P

基本上作为夏季项目,我一直在浏览维基百科页面上的数据结构列表并尝试实现它们.我上学期参加了C++课程并发现它非常有趣,作为我实施二项式堆的最终项目 - 这也非常有趣.也许我很讨厌,但我喜欢数据结构.

无论如何,足够的背景故事.项目进展顺利,我从二叉树开始.为了更进一步,我需要创建迭代器来遍历树.我已经决定为每个遍历方法(常规迭代器和常量迭代器)创建两种类型的迭代器,我只是不知道如何做到这一点.我听说过从stl的迭代器继承,甚至使用boosts iterator_facade(这似乎是个不错的选择)

我还没有尝试编写迭代器代码,因为我不知道从哪里开始,但我确实在github上有我当前的代码.你可以在这里查看.

如果你反对github,我会粘贴相关的类定义.这些功能的实现实际上没有任何帮助,但如果您出于某种原因需要它们,请告诉我.此外,节点类具有用于迭代目的的父指针.

#ifndef __TREES_HXX
#define __TREES_HXX
#include <cstdlib>  // For NULL
#include <algorithm> // for std::max

// Node class definition. These nodes are to be used for any
// tree where the structure is
//    node
//     /\
// left  right
//  /\    /\
//
// etc., basically two children.
template <typename T>
class Node
{
  public:
    T data_;
    Node<T>* left_;
    Node<T>* right_;
    Node<T>* parent_; // Needed …
Run Code Online (Sandbox Code Playgroud)

c++ binary-tree iterator data-structures

7
推荐指数
1
解决办法
6884
查看次数

MYSQL数据库离线使用

有没有办法在没有数据库管理系统的情况下使用MYSQL数据库.比如离线使用表而不在机器上安装数据库管理系统..如果有,请指点我正确的方向?谢谢!

mysql database offline

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

这是我想要"使用"的情况吗?

我不熟悉C++ 0x.我大约6个月前就开始学习C++了,虽然我对初学者有很强的掌握.

我有一个模板类:

template <typename T>
class Node
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

然后,我有这个:

template <typename T>
class BinaryTree
{
    protected:
       typedef Node<T>* node_t;
    ...
}
Run Code Online (Sandbox Code Playgroud)

这里,二叉树类充当"基类",可以通过二叉树的特化来扩展.(AVL Tree,Red-Black等)节点typedef受到保护,因为想法是专业化将能够使用它......它们可以,但它看起来非常糟糕.

例如,在我的BiTree类(我最常用的二叉树的创意名称,基本上是BST)中,我们有:

template <typename T>
class BiTree : public BinaryTree<T>
{
   private:
      typedef typename BinaryTree<T>::node_t node_t; // Yuck
   ...
}
Run Code Online (Sandbox Code Playgroud)

更糟糕的是,我是那些喜欢在类之外指定函数的人之一,所以当我想说node_t是返回类型时...好吧,看看......

template <typename T>
typename BiTree<T>::node_t
BiTree<T>::insert(BiTree<T>::node_t& node, T data)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

有没有办法只使用node_t?这就是从基类继承typedef的重点.这是usingC++ 0x中关键字的用途吗?我将如何应用于这种情况?谢谢.

编辑:我想知道它是否有用的原因是因为这个问题:C++模板typedef

c++ inheritance templates typedef c++11

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