问题描述
- 将 * 作为函数参数传递
#include <iostream>
class A {
public:
A() {}
};
class B : public A{
public:
B() {}
};
void foo(A* a) {
a = new B();
}
void ff() {
A a;
foo(&a);
}
- 将**作为函数参数传递
#include <iostream>
class A {
public:
A() {}
};
class B : public A{
public:
B() {}
};
void foo(A** a) {
*a = new B();
}
void ff() {
A* a;
foo(&a);
}
当我看到 leveldb 时,我对此感到困惑。
具体代码如下。
https://github.com/google/leveldb/blob/master/db/db_impl.cc#L1537
我认为可以使用 FileLock lock
然后将 &lock
传递给 LockFile(const std::string& filename,FileLock* lock)
LockFile
函数是 this
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)