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