Соглашения об именах в C++
Меня интересовали соглашения об именах в C++, в частности, где и что становится заглавной. Я предполагаю, что я спрашиваю (пришли из языков, таких как Java и C#), почему такие вещи, как std::vector и std::string не пишутся с большой буквы?
Как следствие, если бы я определял тип std::string как что-то другое (в моем случае "мир"), я должен назвать это...
typedef std::string world;
или же
typedef std::string World;
Я просматривал предыдущие посты и руководства по стилю (некоторые из них перечислены ниже), но ни один из них не касался этого напрямую (ссылки ниже). В руководстве Google говорится: "Имена всех типов - классов, структур, typedefs и перечислений - имеют одинаковое соглашение об именах. Имена типов должны начинаться с заглавной буквы и иметь заглавную букву для каждого нового слова. Никаких подчеркиваний". Так что кажется, что это должно быть последним, но это кажется странным, поскольку библиотека std даже немного не следует этому соглашению. Является ли это просто одной из тех вещей, когда группа людей написала библиотеку std до того, как стили были стандартизированы, и теперь (по соображениям совместимости) уже слишком поздно ее менять / обновлять?
Спасибо!
Предыдущее исследование:
2 ответа
Там нет стандартизированного стиля. Просто будь последовательным.
Однако обычно пользовательские типы начинаются с заглавной буквы точно, чтобы их нельзя было спутать со встроенными типами или типами в стандартной библиотеке.
Во всяком случае, это должно быть:
typedef std::string World;
Или в C++11 вы можете написать:
using World = std::string;
Я чувствую, что эта ссылка на похожий вопрос поможет вам:
Каковы предпочтительные соглашения по именованию du jour для C++?
И, как и все остальные, упомянул, важно сделать две вещи:
- выбрать стиль
- придерживаться