шаблон метода pattern и длинные списки параметров в c ++ - PullRequest
1 голос
/ 09 сентября 2010

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

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

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

Ответы [ 4 ]

5 голосов
/ 09 сентября 2010

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

4 голосов
/ 09 сентября 2010

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

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

2 голосов
/ 09 сентября 2010

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

1 голос
/ 09 сентября 2010

Я бы хотел передать один аргумент, который представляет собой коллекцию варианта типа, например, std :: vector.

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