C ++: Inicjalizacja zmiennych składowych

Mam zamieszanie na temat inicjalizacji zmiennej członka klasy.

Załóżmy, że w moim pliku .h jest:

class Test {

int int_var_1;
float float_var_2;

public:
       Test();
}

Mój plik .cpp to:

Test::Test() : int_var_1(100), float_var_2(1.5f) {}

Teraz, gdy tworzę instancję klasy, zmienne są inicjalizowane na 100 i 1.5.

Ale jeśli to wszystko robię w moim konstruktorze, mogę wykonać następujące czynności w moim pliku .cpp:

int Test::int_var_1 = 100;
float Test::float_var_2 = 1.5f;

Jestem zdezorientowany co do różnicy między inicjowaniem zmiennych w konstruktorach lub z operatorem rozdzielczości.

Czy ten sposób inicjowania zmiennych poza konstruktorem z rozdzielczością zakresu ma zastosowanie tylko do zmiennych statycznych lub czy można to zrobić dla normalnych zmiennych?

questionAnswers(2)

yourAnswerToTheQuestion