Inicjalizacja wektora C ++ ze wszystkimi zerami

Inicjalizacja wektora C ++ ze wszystkimi zerami
Inicjalizacja wektora oznacza podanie wektorowi praktyczne elementy podczas tworzenia. Tworzenie wektora może być definicją lub deklaracją. Definicja ma na celu przydzielanie pamięci dla elementów. Deklaracja ma niuans w swoim znaczeniu: gdy wektor jest tworzony bez alokacji pamięci dla jego elementów, to jest deklaracja. Gdy wektor jest tworzony i pamięć jest przydzielana dla jego elementów, to jest również deklaracja. W innych słowach deklaracja ma dwa znaczenia i może oznaczać definicję.

Wektor to klasa w bibliotece wektorowej, która jest zawarta w programie. Z tej samej klasy wektorowej można utworzyć różne obiekty wektorowe. Deklaracja obiektów wektorowych bez przydziału pamięci dla elementów jest instancja. Deklaracja obiektów wektorowych z alokacją pamięci dla elementów jest nadal instancja.

Idealnie, inicjalizacja odbywa się podczas tworzenia instancji. Jednak gdy deklaracja jest wykonywana bez alokacji pamięci dla elementów, wówczas inicjalizacja należy dokonać, przypisując lub wciśnięcia_backa (do), wartości początkowe.

Informacje te zawierają dwie sytuacje inicjalizacji: inicjalizacja z tworzeniem wektorów jako definicji lub inicjalizacji po deklaracji bez definicji przez przypisanie (lub pchanie_backa).

Tworzenie wektorów można klasyfikować w dwóch kategoriach: tworzenie wektorów z elementami i tworzeniem wektorów bez elementów. Cel tego artykułu należy interpretować jako: Jak utworzyć wektor z wszystkimi początkami zero. Aby mieć wektor ze wszystkimi elementami zero, typ elementów musi być int lub float lub ich warianty. W tym artykule użyjemy Type Int.

Inicjalizacja przy tworzeniu wektorów z elementami

Tworzenie z inicitizer_list

Inicitizer_list to lista wartości tego samego typu oddzielonego przecinkami i ograniczona przez aparat ortodontyczny. Istnieją dwie składni do tworzenia wektora z inicitizer_list. Składnie to:

wektor & operator = (inicitizer_list)
I
wektor (inicitizer_list, const alokator & = alokator ())

Aby utworzyć wektor ze wszystkimi zerami, wszystkie wartości w liście inicitizer_. Poniższy program ilustruje to przy użyciu pierwszej składni, w której lista inicjalizacyjna jest przypisana do obiektu wektorowego z operatorem przypisania:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

vectorVtr = 0, 0, 0, 0, 0;
dla (int i = 0; iCout<Cout<powrót 0;

Wyjście to:

0 0 0 0 0

W nagłówku programu uwzględniono bibliotekę wektorową. Deklaracja wektora znajduje się w pierwszej instrukcji w głównej funkcji. Zawartość wektora jest wyświetlana w pozostałej części kodu w funkcji głównej.

W przypadku drugiej składni drugi parametr jest opcjonalny i nie zostanie uwzględniony w następującym programie. W przypadku tej drugiej składni lista inicjalizator jest argumentem funkcji konstruktora wektorowego. Poniższy program ilustruje użycie drugiej składni:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

vectorVtr (0, 0, 0, 0, 0);
dla (int i = 0; iCout<Cout<powrót 0;

Wyjście to:

0 0 0 0 0

Wejście wynosiło pięć zer, a wyjście to takie same pięć zer.

Liczba elementów wektorowych znanych z góry

Liczba elementów wektorowych może być znana z wyprzedzeniem, ale rzeczywiste elementy mogą nie być znane z góry. W takim przypadku wektor powinien być nadal zainicjowany do zera. Składnia tworzenia wektorowego dla tego jest:

wektor (size_type n, const t & wartość, const alokator & = alokator ())

Trzeci parametr jest opcjonalny i nie będzie częścią następującego programu. Pierwszym argumentem jest liczba elementów, a drugim argumentem jest wartość domyślna, która w tym przypadku wynosi zero dla wszystkich elementów. Poniższy program pokazuje, jak używać tej składni dla wielkości wektora 5:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

VectorVTR (5, 0);
dla (int i = 0; iCout<Cout<powrót 0;

Wyjście to:

0, 0, 0, 0, 0

Inicjalizacja po utworzeniu wektora bez elementów

Tutaj przed inicjalizacją powstaje pusty wektor. Składnia do utworzenia pustego wektora to:

vector () noExcept (noExcept (allocator ())): wektor (alokator ())

Składnia do przypisania wartości początkowych do wektora za pomocą inicitizer_list, to:

void przypisanie (inicitizer_list)

Poniższy program tworzy pusty wektor, a następnie przypisuje zera do elementów:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

VectorVTR;
vtr.przypisz (0, 0, 0, 0, 0);
dla (int i = 0; iCout<Cout<powrót 0;

Wyjście to:

0 0 0 0 0

Pierwsza instrukcja w głównej funkcji tworzy pusty wektor. Drugim instrukcją jest inicjalizacja za pomocą funkcji członka Assign (). Argument funkcji członka cession () jest lista inicjalizatorów z każdym elementem w zero.

Składnia do przypisania wartości domyślnych do wektora, gdy liczba elementów jest znana z góry, to:

void cession (size_type n, const t & u);

Z tą składnią pierwszym argumentem jest liczba elementów w wektorze, a drugim argumentem jest wartość domyślna. Do inicjalizacji z zerami po prostu uczyń wartość domyślną zero. Pamiętaj, że należy to zrobić po utworzeniu pustego wektora. Poniższy program ilustruje to:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

VectorVTR;
vtr.przypisać (5, 0);
dla (int i = 0; iCout<Cout<powrót 0;

Wyjście to:

0 0 0 0 0

Zepchnięcie

Po utworzeniu pustego wektora dowolna liczba zer można wepchnąć_backi do wektora w celu inicjalizacji, jak pokazano w następującym programie:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

VectorVTR;
vtr.push_back (0); vtr.push_back (0); vtr.push_back (0);
vtr.push_back (0); vtr.push_back (0);
dla (int i = 0; iCout<Cout<powrót 0;

Wyjście to:

0 0 0 0 0

Wektor wartości typu domyślnego i inicjalizacja

Jeśli liczba elementów jest znana z wyprzedzeniem, to bez wskazania wartości, wartości domyślnymi typu będą wartościami początkowymi. Wartość domyślna dla typu int wynosi zero. Składnia tworzenia takiego wektora jest:

jawny wektor (size_type n, const alokator & = alokator ())

Drugi argument jest opcjonalny i można go pominąć. Pierwszym argumentem jest rozmiar wektora. Jeśli typ wektora jest int, wówczas wszystkie wartości początkowe będą wynosić zera. Poniższy program ilustruje to:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

VectorVTR (5);
dla (int i = 0; iCout<Cout<powrót 0;

Wyjście to:

0 0 0 0 0

Wniosek

Rozmiar wektora we wszystkich powyższych próbkach kodu wynosi 5. Można użyć dowolnej innej liczby. Wektor można zainicjować ze wszystkimi zerami na trzy główne sposoby: a) Użyj inicitizer_list, b) Użyj funkcji elementu wektora wektorowego do pustego wektora (lub push_back () lub c) Użyj int lub float jako szablonu Specjalizacja parametrów dla wektora początkowo wartości domyślnej.