我试图通过在C++中编写python例程来加速它,然后使用ctypes或cython来使用它.
我是c ++的新手.我正在使用Microsoft Visual C++ Express,因为它是免费的.
我计划实现一个表达式树,以及一个以后缀顺序评估它的方法.
我遇到的问题是:
class Node {
char *cargo;
Node left;
Node right;
};
Run Code Online (Sandbox Code Playgroud)
我无法宣布left或right作为Node类型.
Jam*_*lis 85
没有,因为对象将是无限大(因为每一个Node有作为成员另外两个Node对象,每个有作为成员另外两个Node对象,每......好吧,你明白了吧).
但是,您可以将类类型的指针作为成员变量:
class Node {
char *cargo;
Node* left; // I'm not a Node; I'm just a pointer to a Node
Node* right; // Same here
};
Run Code Online (Sandbox Code Playgroud)
小智 36
为了完整起见,请注意,类可以包含自身的静态实例:
class A
{
static A a;
};
Run Code Online (Sandbox Code Playgroud)
这是因为静态成员实际上并不存储在类实例中,因此没有递归.
R S*_*hko 11
不,但它可以有一个引用或指向自己的指针:
class Node
{
Node *pnode;
Node &rnode;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29420 次 |
| 最近记录: |