如果我有一个不需要在 .hpp 文件中完整定义的类,我通常主要使用前向声明
前任)
//B.hpp
namespace A_file {
class A;
}
namespace B_file {
class B {
public:
B();
private:
A *ptr_to_A;
}
}
//B.cpp
#include "A.hpp"
using namespace A_file;
namespace B_file {
B(int value_) {
*ptr_to_A = new A(value_);
}
int some_func() {
ptr_to_A->some_func_in_A();
}
}
我写这种代码。我认为,它将再次保存包括整个 hpp。(随意评论,如果你喜欢,这不健康)
有没有一种方法可以对 std 命名空间中的对象/类做同样的事情?如果有办法,是否可以或有副作用?