2017-01-16 8 views
0

Я использую математическую библиотеку Eigen, и я использую много динамических vector с типом шаблона Eigen::Vector<T, -1, 1> в большом количестве файлов. С этими обозначениями мой код действительно плотный, поэтому у меня есть два вопроса:Как сделать «Определение типа»

Должен ли я выполнять определение типа, чтобы получить более короткий и более правильный код, используя Vector<T> = Eigen::Vector<T, -1, 1>? Но мой код будет сложнее понять с помощью этой модификации.

И если я сделаю определение этого типа, где я должен это делать? Потому что я использую внешнюю библиотеку (Eigen), изменяющую файлы библиотеки, не является хорошим решением, но пользовательский файл только для этого выглядит грязным.

+1

Лично мне нравится использовать полное имя, если оно действительно не является подробным. – NathanOliver

+0

Используйте имена, специфичные для домена, для таких настраиваемых типов. Наличие 'Vector ' было бы совершенно неясным. Но если, например, у вас был тип, который всегда представлял данный физический объект (например, «force»), это помогло бы читаемости определить его как «шаблон с использованием force_vector_t = Eigen :: Vector ' (полностью надуманный пример, я никогда не использовал Eigen-библиотеку). –

ответ

0

Учитесь любить подробные обозначения Eigen::Vector. Таким образом, вы точно знаете, с чем имеете дело.

Использование using заявления, в частности, в заголовочных файлах, как правило, приводит к код, который более трудно читать в долгосрочной перспективе (вы можете всегда помнить, какое пространство имен вы имеете в виду?), А также вызывает потенциальные столкновения пространства имен.

Тот же стиль относится к вещам из пространства имен std.

 Смежные вопросы

  • Нет связанных вопросов^_^