скажем, у меня есть    std::map< std::string, std::string > m_someMap как частная переменная члена класса A
Два вопроса: (и единственная причина, по которой я спрашиваю, это то, что я натолкнулся на такой код)
-  Какова цель этой строки: A::A() : m_someMap()Теперь я знаю, что это intialization, но вам нужно делать это вот так? Я в замешательстве. 
-  Какое значение по умолчанию для std::map< std::string, std::string > m_someMap, также С# определяет, что int, double и т.д. всегда инициализируется defualt 0, а объекты равны нулю (по крайней мере, в большинстве случаев) Так что же такое правило в С++??? Объект инициализирован defualt на null и примитивы на мусор? Конечно, я беру переменные экземпляра.
ИЗМЕНИТЬ:
так как большинство людей указало, что это выбор стиля и не требуется, а что:
A:: A(): m_someMap(), m_someint (0), m_somebool (false)
