我试着找到答案,但没有看到我的特定问题.我正在使用三元搜索树的共享指针(用于预测文本算法),并使用共享指针遇到一些问题.
我已经离开C++ 5年了,让我告诉你,Java并没有帮助你学习指针.我不得不重新学习在过去几天里我在学校学到的指针材料,并成功设法破坏了我的代码.
这是我的大部分代码:
// TernarySearchTree.cc
#include "stdafx.h"
#include "ternary_search_tree.h"
//Constructor
TernarySearchTree::TernarySearchTree() {
num_nodes_ = 0;
size_in_memory_ = 0;
root_node_ = nullptr;
}
TernarySearchTree::TernarySearchTree(const TernarySearchTree& other) {
num_nodes_ = other.num_nodes_;
size_in_memory_ = other.size_in_memory_;
TernarySearchTreeNode node;
node = *other.root_node_;
root_node_.reset(&node);
}
//Destructor
TernarySearchTree::~TernarySearchTree() {
}
//operators
TernarySearchTree& TernarySearchTree::operator=(const TernarySearchTree& other) {
//TODO: swap idiom - create a copy of the node then swap the new one with it
//do this first to provide exception safety
TernarySearchTreeNode node;
node = *other.root_node_;
root_node_.reset(&node); …Run Code Online (Sandbox Code Playgroud)