我正在构建最初用 MATLAB 编写的项目的 C++ 克隆。我想“翻译”尽可能接近原始代码的代码(考虑到像 MATLAB 这样的动态类型语言和像 C++ 这样的静态类型语言之间不可避免的差异)。
我的问题是关于可变长度参数列表作为可以包含混合类型参数的函数参数。
MATLAB 有varargin
一个函数参数:
varargin Variable length input argument list.
Allows any number of arguments to a function. The variable
varargin is a cell array containing the optional arguments to the
function. varargin must be declared as the last input argument
and collects all the inputs from that point onwards. In the
declaration, varargin must be lowercase (i.e., varargin).
在 Python 中,*args
处理**kwargs
起来非常舒服。
在 C++ 中,我离这种灵活性有多近?我应该使用任何标准的参数列表类吗?