Шаблон методика шаблона и длинные списки параметров в C ++

StackOverflow https://stackoverflow.com/questions/3676638

Вопрос

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

pc < prg, tc, 9, 0, 4, 4, test, true, true, true, true, false, true, true, 10, 0, -1, 3, 3 > mp;

Как вы справляетесь с длинными списками параметров шаблонов? Должен ли я использовать enums / определять вместо True / false и номеров? Есть ли часто используемые альтернативы?

Это было полезно?

Решение

Да, используйте enums (не определяют) вместо true / false. Таким образом, если вы получите параметры из строя, то компилятор будет жаловаться. Кроме того, для читателей гораздо яснее.

Что касается решения с длинными списками параметров в целом --- скрыть их за Typedef, или генератор, который исправляет некоторые из параметров шаблона, и позволяет вам варьироваться другим.

Другие советы

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

Я не делаю C ++, и это может не применять хорошо к шаблону, но то, что я бы попытался сделать с нормальным методом с длинным списком параметров, находит связанные параметры и попытаться сгруппировать их разумно и внедрять объекты параметра, отражающие группировку, Так что у вас есть более короткий список более сложных параметров.

Я бы пропустил один аргумент, который является коллекцией типа варианта, например, STD :: Vector.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top