我很好奇汇编语言是如何工作的 - 我仍然很普遍,因为我不是只谈论intel x86汇编(尽管它是我唯一熟悉的汇编语言).要更清楚一点......
mov %eax,%ebx
Run Code Online (Sandbox Code Playgroud)
计算机如何知道"mov"这样的指令是什么?怎么知道eax和ebx是寄存器?人们会为汇编语言编写语法吗?他们怎么写这个?我想没有什么是从编写替代了汇编语言停止某人mov的东西,如指令dog或horse等,(显然这不是语义在所有)
对不起,如果这不是太清楚,但这是我觉得有点令人费解的事情 - 我知道它不是魔术,但我看不出它是如何工作的.我在维基百科上查了一些东西,但它似乎只是将它翻译成机器代码,好吧,我问的是我认为翻译是怎么发生的.
思考?
编辑:我意识到这些东西是在参考手册和事情中定义的,我想我想知道的是你如何告诉你的处理器"好的,当你看到mov你要这样做"时.我也知道它可能是一大堆逻辑门.但是处理器必须有一些方法来识别那mov就是"使用这些逻辑门"的符号
请你好 - 这是我的第一个问题.= 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) 有没有办法在没有数据库管理系统的情况下使用MYSQL数据库.比如离线使用表而不在机器上安装数据库管理系统..如果有,请指点我正确的方向?谢谢!
我不熟悉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