Я пытаюсь ускорить стандартную программу Python путем записи этого в C++, затем с помощью него с помощью ctypes или цитоне.
Я являюсь совершенно новым к C++. Я использую Экспресс Microsoft Visual C++, поскольку это свободно.
Я планирую реализовать дерево выражений и метод для оценки его в постфиксном порядке.
Проблема, с которой я сталкиваюсь сразу же:
class Node {
char *cargo;
Node left;
Node right;
};
Я не могу объявить left
или right
как 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
};
Нет, но он может иметь ссылку или указатель на себя:
class Node
{
Node *pnode;
Node &rnode;
};