Я пишу служебную библиотеку, которая состоит из нескольких «пакетов».Классы в каждом пакете содержатся в различных пространствах имен.У меня есть идея относительно того, как я могу упростить ситуацию, автоматически объявляя использование операторов в конце объявлений классов (см. Ниже), это позволит избежать того, чтобы программист делал это в файле cpp.
namespace Utility
{
class String
{
// Class Implementation
};
}
using Utility::String;
Насколько я понимаю, если пользователь включает заголовок String.h и String находится в Utility, то программист захочет использовать String.Очевидно, что это может быть плохо, если есть цепочка внешних классов, включающая в себя кучу файлов, которые загрязняют пространство имен, поэтому я подумал, как сделать вместо этого #define.функциональность может его получить.
Это хорошая идея или я что-то упускаю?