LINUX.ORG.RU

Namespace vs. static class

 


1

1

Стало интересно, как принято оформлять группы функции, объединенные одной «тематикой». Что для этого больше подходит namespace или класс со статическими методами.

Следует учесть, что у функций есть несколько связанных с ними констант, как публичных, так и приватных.

Я пробовал оба способа, но так и не понял, что удобнее.

Может быть +/- этих подходов уже где-нибудь обсуждались?

★★★★★

Пространства имён идеологически правильнее, они для этого и вводились в язык. Из пространства имён можно импортировать имена (using ns::name), такого со статическими членами класса сделать нельзя.

Begemoth ★★★★★
()

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

Begemoth ★★★★★
()

namespace. Расширение можно производить из различных мест.

cattail
()
Ответ на: комментарий от nanoolinux

Можно делать typedef'ы в классах.

Относительно сабжа. Вообще неймспейсы. Как минимум из-за их открытости(можно разбивать на несколько файлов) и поиска имен(поиск Кенига). Классы имеет смысл использовать вместо неймспейсов, если Вам нужны traits, т.е. набор некоторых «характеристик»(тайпдефов, типов и статических функций), которые вы собираетесь куда-то передать в качестве параметра шаблона. См. basic_string и CharTraits.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.