通过 const 引用传递指针
Pass a pointer by const reference
通过 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) {
^
Is passing a pointer by const reference not done for optimization?
不,不是,因为它并没有更快。添加的间接寻址可能会更慢。
bool testHelper(const TreeNode*& p, const TreeNode*& q)
这些不是对 const 的引用。这些是指向 const 的非常量指针的引用。
其他错误:
test
被声明为 return 非空但缺少 return 语句
- 您还没有声明您调用的函数
recursiveHelper
。
通过 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) {
^
Is passing a pointer by const reference not done for optimization?
不,不是,因为它并没有更快。添加的间接寻址可能会更慢。
bool testHelper(const TreeNode*& p, const TreeNode*& q)
这些不是对 const 的引用。这些是指向 const 的非常量指针的引用。
其他错误:
test
被声明为 return 非空但缺少 return 语句- 您还没有声明您调用的函数
recursiveHelper
。