use*_*026 1 c++ arrays constructor pointers initialization
class TrieNode {
public:
TrieNode() : next{new TrieNode *[26]} {}
TrieNode **next;
string word;
};
Run Code Online (Sandbox Code Playgroud)
我必须为此应用程序使用原始指针,我想知道如何nullptr
在构造函数中设置所有 26 个指针?我是否必须循环next
并单独设置每个人,还是有另一种更快的方法来做到这一点?
您可以执行值初始化。
- 如果 T 是数组类型,则数组的每个元素都进行了值初始化;
- 否则,对象是零初始化的。
和
零初始化的效果是:
- 如果 T 是标量类型,则对象的初始值是显式转换为 T 的整数常量零。
class TrieNode {
public:
TrieNode() : next{new TrieNode *[26]()} {}
// ^^ or use {} since C++11
TrieNode **next;
string word;
};
Run Code Online (Sandbox Code Playgroud)
因此,数组的所有元素都将被初始化为空指针。