c ++在可选类输入中填充向量

时间:2018-05-04 16:23:36

标签: c++ class templates

我希望为模板化类提供一个可选的输入参数,其中元素的数量取决于模板。例如:

template< int SomeInteger >
class SomeClass: public SomeOtherClass
{
public:

    Constructor( const std::vector< double > someVector,
                 const std::vector< double > someOptionalVector = { 1, 1, 1, ... } )

}

所以1的总数应取决于SomeInteger的值。我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

std::vector有一个构造函数,它接受一个值和多次将该值添加到向量中。您可以使用该构造函数初始化someOptionalVector,如

Constructor(const std::vector<double> someVector,
            const std::vector<double> someOptionalVector = std::vector<double>(SomeInteger, 1.0))   

答案 1 :(得分:2)

const std::vector<double> someOptionalVector = std::vector<double>(SomeInteger, 1.0)
是的,那就是它。感谢std::vector's constructors;)