Trie*& 和 Trie** 的意思是 Same?
does Trie*& and Trie** means Same?
class Trie
{
public:
bool isLeaf;
Trie* character[CHAR_SIZE];
// Constructor
Trie()
{
this->isLeaf = false;
for (int i = 0; i < CHAR_SIZE; i++)
this->character[i] = nullptr;
}
void insert(std::string);
bool deletion(Trie*&, std::string);
bool search(std::string);
bool haveChildren(Trie const*);
};
在这里,Trie*&和Trie**的意思是相同的吗?
不,它们不一样。Trie*&
是对 (Trie-( 指针的引用,Trie**
是指向 (Trie-( 指针的指针。为了说明差异,请考虑以下情况:
void test_a(int*& refToPtr)
{
refToPtr = new int();
*refToPtr = 123;
}
要使用int**
来实现相同的效果,您的函数将如下所示:
void test_b(int** ptrToPtr)
{
*ptrToPtr = new int();
**ptrToPtr = 123;
}
要记住的一个区别是,您可以在本地更改ptrToPtr
(因此您可以将点更改为哪个指针变量ptrToPtr
点(。由于refToPtr
是引用,因此无法局部更改refToPtr
引用的指针变量。
不,它们不一样。
在这里,Trie*&和Trie**的意思是相同的吗?
Trie*&
:是对指针的引用。Trie**
:是指向指针的指针。
欲了解更多信息,您可以查看
-
C++中指针变量和引用变量有什么区别?
-
tutorialspoint.com 教程
相关文章:
- 这个极客对极客的trie实现是否存在内存泄漏问题
- 在 c++ 中实现 Trie 时出现分段错误
- 为什么 Same<T, U> 不包含 Same<U, T>?
- Trie*& 和 Trie** 的意思是 Same?
- Trie 树初始化
- 为什么 std::shared_ptr 被认为是"heavy"和"expensive",但 std::array "same perfprmance as plain (c-style) arrays
- 在我的trie实现中出现分段错误
- 使用 trie 数据结构链接不同类型的信息
- C++ 中的 TRIE 数据结构实现
- C++ "Same Letter"代码无法正常工作
- Trie数据结构的实现
- C++ 嵌套类模板 错误 C2440 '=':无法从'type'转换为'same type'
- C++Trie中的浮点异常
- C ++无法让Trie给出正确的搜索词
- C++标准在[basic.scope.hiding]中"same scope"到底意味着什么?
- 在不创建新节点的情况下实现带有映射的trie
- 为什么"an inherited constructor is not a candidate for initialization from an expression of the same or
- 为什么此代码在此 Trie 实现中使用映射 c++ 中的指针崩溃?
- 是否有一个很好的方法可以在C 11中打印出像JSON一样的Trie结构(仅迭代解决方案)的扁平命名空间
- Boost python getter/setter with the same name