相关疑难解决方法(0)

在std命名空间中转发变量/类的声明

如果我有一个不需要在.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();
   }
 }
Run Code Online (Sandbox Code Playgroud)

我写这种代码.我想,它将再次包括整个hpp.(随意评论,如果你的事情,这是不健康的)

有没有办法可以对std命名空间中的对象/类做同样的事情?如果有办法,可以,还是有副作用?

c++ class std forward-declaration

11
推荐指数
1
解决办法
4543
查看次数

标签 统计

c++ ×1

class ×1

forward-declaration ×1

std ×1