6.3 支持的C++特性

当前,SWIG支持绝大多数的C++特性,包括如下:

  • 构造函数与析构函数
  • 虚拟函数
  • 共有继承(包括多重继承)
  • 静态函数
  • 函数和方法重载
  • 多数标准操作符的重载
  • 引用
  • 模板(包括特化与成员模板)
  • 指向成员的指针
  • 命名空间
  • 默认参数
  • 智能指针

下面这些特性还不支持:

  • 某些操作符的重载(new、delete等)

根据经验,SWIG不能直接使用C++源文件,只能使用头文件。

SWIG对C++的支持是一个一直在继续的工程,这些限制可能在将来的版本中解决。但是,我们不保证。同时,欢迎提交bug报告,这是解决问题的好方法。