【发布时间】:2021-02-28 07:27:47
【问题描述】:
通过 const 引用传递指针不是为了优化吗?
例如
bool testHelper(const TreeNode*& p, const TreeNode*& q) {
return false;
}
TreeNode* test(TreeNode* root, TreeNode* p, TreeNode* q) {
recursiveHelper(p, q);
}
错误:
Line 17: Char 28: error: binding reference of type 'const TreeNode *' to value of type 'TreeNode *' not permitted due to incompatible qualifiers
testHelper(p, q);
^
Line 12: Char 42: note: passing argument to parameter 'p' here
bool testHelper(const TreeNode*& p, const TreeNode*& q) {
^
【问题讨论】:
-
第一个问题:为什么是指针?第二个问题:通过传递一个琐碎的复制值,如指针作为引用,你有什么收获?
-
bool testHelper(const TreeNode* const& p, const TreeNode* const& q)将通过const引用传递它。
标签: c++ pointers reference constants