6.3 支持的C++特性
当前,SWIG支持绝大多数的C++特性,包括如下:
- 类
- 构造函数与析构函数
- 虚拟函数
- 共有继承(包括多重继承)
- 静态函数
- 函数和方法重载
- 多数标准操作符的重载
- 引用
- 模板(包括特化与成员模板)
- 指向成员的指针
- 命名空间
- 默认参数
- 智能指针
下面这些特性还不支持:
- 某些操作符的重载(new、delete等)
根据经验,SWIG不能直接使用C++源文件,只能使用头文件。
SWIG对C++的支持是一个一直在继续的工程,这些限制可能在将来的版本中解决。但是,我们不保证。同时,欢迎提交bug报告,这是解决问题的好方法。