栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

创建boost-python嵌套名称空间

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建boost-python嵌套名称空间

您想要的是boost :: python ::
scope

Python没有“命名空间”的概念,但是您可以像命名空间一样使用类:

#include <boost/python/module.hpp>#include <boost/python/class.hpp>#include <boost/python/scope.hpp>using namespace boost::python;namespace a{    class A{};    namespace b    {         class B{};    }}class DummyA{};class DummyB{};BOOST_PYTHON_MODULE(mymodule){    // Change the current scope     scope a        = class_<DummyA>("a")        ;    // Define a class A in the current scope, a    class_<a::A>("A")        //.def("somemethod", &a::A::method)        ;    // Change the scope again, a.b:    scope b        = class_<DummyB>("b")        ;    class_<a::b::B>("B")        //.def("somemethod", &a::b::B::method)        ;}

然后在python中,您具有:

#!/usr/bin/env pythonimport mylibprint mylib.a,print mylib.a.Aprint mylib.a.bprint mylib.a.b.B

所有

a
a.A
a.b
a.b.B
实际上的类,但你可以把
a
a.b
就像命名空间-永不实际上的实例化



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/653211.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号