为了账号安全,请及时绑定邮箱和手机立即绑定

窃听作为模板函数的类成员函数

窃听作为模板函数的类成员函数

白衣非少年 2021-03-29 16:21:05
该问题基于以下问题:如何使用swig实例化模板类的模板方法?。但是,与该问题相比,我尝试包装的代码略有不同:class MyClass {  public:    template <class T>     void f1(const string& firstArg, const T& value);};该MyClass的是一个普通的C ++类,一个模板函数F1。尝试包装MyClass :: f1 :,即Swig .i文件 %template(f1String)    MyClass::f1<std::string>; 通过以上操作,Python客户端可以执行o = MyClassstr1 = "A String"o.f1String("", str1)此接口要求Python客户端了解所有不同的f1函数名,每个函数名根据类型而有所不同。不太干净。可以通过重载,在接口文件中扩展来获得更干净的接口,例如%extend MyClass {   void f1(const string& s, const string& s1){          $self->f1(s, s1);   }   void f1(const string& s, const int& anInt){          $self->f1(s, anInt);   }}这允许这样的客户端代码:o = MyClassstr1 = "A String"anInt = 34o.f1("", str1)o.f1("", anInt)问题是,有没有办法使用Swig在不扩展的情况下(通过扩展)获取以上接口?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信