C ++ заполнить вектор в необязательном вводе класса - PullRequest
0 голосов
/ 04 мая 2018

Я хочу иметь необязательный входной аргумент для шаблонного класса, где его количество элементов зависит от шаблона. Например:

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 голосов
/ 04 мая 2018

std::vector имеет конструктор, который принимает значение и несколько раз, чтобы добавить это значение в вектор. Вы можете использовать этот конструктор для инициализации someOptionalVector как

Constructor(const std::vector<double> someVector,
            const std::vector<double> someOptionalVector = std::vector<double>(SomeInteger, 1.0))   
0 голосов
/ 04 мая 2018
const std::vector<double> someOptionalVector = std::vector<double>(SomeInteger, 1.0)

Да, вот и все. Спасибо std::vector конструкторам за это;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...