Большинство соглашений о именованиях C ++ диктуют использование идентификаторов Camelcase : имена, которые начинаются с заглавной буквы для классов (
, бронирование ) и имена, которые начинаются с строчной буквы для полей и переменных (
, isvalid () , наибольшая версия ). Эти рекомендации полностью противоречат соглашениям об именах библиотеки C ++, которые включают в себя имена строк для классов (
, set , map , fstream ) и names_joined_with_an_underscore для методов и полей (
, lower_bound , reample_iterator , first_type ). Дополнительным усложняющимся изображением являются операционная система и функции библиотеки C, которые включают сжатые нижние имена нижних регистра в C и Unix и функции, начиная с прописной буквы в Windows. Написание классов или методов, которые обертывают функциональность библиотеки, болезненны, потому что один заканчивается именами разных стилей для похожих вещей.>
Подробнее здесь:
https://stackoverflow.com/questions/350 ... -libraries