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?