скажем, у меня есть 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)