嵌套类公共方法将父类作为输入

Nested class public method takes parent class as input

提问人:A. Fenzry 提问时间:11/10/2022 更新时间:11/10/2022 访问量:48

问:

我在第三方代码库中找到了它

class Foo {
 public:
  class Log {
   public:
   static Log method(Foo& foo);
  };
};

为了简洁起见,我省略了这两个类中的许多其他方法。它可以编译,但是在尝试通过 pybind11 围绕它创建 python 绑定时,它让我很难。这是一种可接受的做法,还是我应该简单地重构类以从中提取此 Log 类?

C++ 嵌套 pybind11

评论


答:

0赞 Arthur Dovlatyan 11/10/2022 #1

如果 Log 类需要访问 Foo 类的数据,这是一种常见的做法。但是将 Log 类编写为 other 或 friend 类也是完全可以接受的。如果是独立类,则可能需要 Log 类的相应 getter。