小编In7*_*n78的帖子

如何使 Python 模拟从基类派生?

我正在使用 pybind11 为某些 C++ 代码实现 python 绑定。现在我正在尝试为绑定编写单元测试。

class A在 C++ 中有一个像这样的构造函数:

class A
{
    A(std::unique_ptr<B> B_ptr);
}
Run Code Online (Sandbox Code Playgroud)

它接受 aunique_ptr到 的对象class Bclass B是一个可以派生的抽象基类。我编写了class B可以从 Python 派生的绑定。是否有可能创建unittest.mock用于派生的 Python 模拟,class B以便A在其构造函数中接受模拟?

c++ python mocking pybind11

5
推荐指数
1
解决办法
223
查看次数

有没有办法避免为 std::variant 类成员中的所有类型编写构造函数?

我有一个struct这样的:

struct A
{
    int a;
    std::variant<int, float, char> b;

    A() = default;
};
Run Code Online (Sandbox Code Playgroud)

我想添加一个构造函数来初始化ab。看来我必须写一个构造函数中的所有类型b一样A::A(int a1, int b1)A::A(int a1, float b1)等等。

有没有办法避免这种情况?

c++ constructor variant c++17

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

标签 统计

c++ ×2

c++17 ×1

constructor ×1

mocking ×1

pybind11 ×1

python ×1

variant ×1