Функции класса пространства имен - PullRequest
0 голосов
/ 24 июля 2010

У меня есть несколько вопросов (держать C / C ++ в контексте) - Когда я хочу использовать пространство имен?Я хочу использовать классы внутри пространства имен?- Когда я должен использовать функции / процедуры внутри пространства имен (не внутри класса)?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 24 июля 2010

Когда я хочу использовать пространство имен?

Вы должны использовать пространство имен всякий раз, когда это помогает лучше организовать ваш код. Вы можете группировать связанные классы, функции, константы и типы вместе в одном пространстве имен.

Когда я должен использовать функции / процедуры внутри пространства имен (не внутри класса)?

Всякий раз, когда функция не должна быть функцией-членом. А именно, если функции не требуется доступ к каким-либо переменным-членам какого-либо экземпляра класса, она должна быть реализована как функция, не являющаяся членом.

Статьи Херба Саттера Герба недели Что в классе? - Принципы интерфейса и Пространства имен и Принцип интерфейса обсуждают использование функций, не являющихся членами, и пространства имен в интерфейсе.

0 голосов
/ 24 июля 2010

Пространства имен предоставляют способ организации вашего кода, для которого он полезен. Пространства имен не предоставляют никакой дополнительной функциональности C ++. При плохом использовании он имеет тенденцию к коду, более сложному для отладки. Если вы решили использовать пространства имен, постарайтесь не включать «использование пространства имен» в свои исходные файлы. Никогда не используйте их в заголовочных файлах. Вместо этого укажите конкретные классы «using std :: vector» или аналогичные, или добавьте использование «using namespace» внутри области видимости. Это сделает все ваше будущее использование пространств имен гораздо менее болезненным.

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