Jednak tablice o zmiennej wielkości nie są obsługiwane przez standard C ++ (do C ++ 11). Rozmiar tablicy jest stałym wyrażeniem w standardzie C ++ 11. W rezultacie powyższy program może nie być akceptowalnym programem C ++. Ponieważ kompilator GCC ma rozszerzenie, aby je pomieścić, program może funkcjonować z kompilatorem GCC. Jako niewiele, rozmiar tablicy jest teraz prostym wyrażeniem w C ++ 14 (nie stałą ekspresję).
Nie jest pożądane, aby generować potencjalnie dużą tablicę na stosie z ograniczoną przestrzenią. Jeśli nie jesteś świadomy z wyprzedzeniem, napiszemy szkodliwy kod. Tablice o zmiennej długości nie są natywnie obsługiwane w C ++, ponieważ wymagałyby znacznych zmian systemu typu.
Tutaj, w artykule C ++, pokażemy, jak przezwyciężyć błąd C ++ ISO Forbidden Błąd długości zmiennej w czasie kompilacji.
Przykład 1: Program wdrożenia tablicy o zmiennej długości w C ++ z kompilatorem GCC
Tablice o zmiennej długości mogą wybrać dowolny rozmiar, którego pragnie użytkownik, i.mi., Mogą być zmienne pod względem wielkości. Poniżej znajduje się program C ++ do tworzenia tablic o zmiennej długości:
Mamy pliki nagłówka C ++ w pierwszym etapie i pliku przestrzeni nazw. Następnie mamy główną metodę programu, a główny korpus ma deklarację zmienną wskaźnika jako „tablicę”, a druga deklaracja „ARR_SIZE”. Cout drukuje instrukcję, która zapyta użytkownika o liczbę o rozmiar tablicy. Następnie CIN przyjmie wartość liczbową od użytkownika. Zmienna „tablica” jest wywoływana tam, gdzie ustawiliśmy rozmiar tablicy.
Teraz poprosiliśmy również o wartości tablicy od użytkownika. Wartość tablicy będzie iterowana przez pętlę for, aż osiągnie rozmiar tablicy. Następnie druga pętla jest używana do drukowania wartości wewnątrz tablicy, a jednocześnie usunęliśmy tablicę za pomocą wyrażenia Delete [] w programie.
#włączaćShell wyświetla komunikat do wprowadzania rozmiaru tablicy po kompilacji. Gdy użytkownik wprowadza rozmiar tablicy, powłoka prosi użytkownika o ustawienie wartości tablicy. Rozmiar tablicy i jej elementów jest dostępny w następujący sposób. Stąd możemy zaimplementować tablicę o zmiennej długości w C ++ bez zabronionego wyjątku.
Przykład 2: Program wdrożenia tablicy o zmiennej długości w C ++ za pomocą wektorów
C ++ STL zapewnia wektor jako alternatywę dla tablic o zmiennej długości. Nadaje się do różnych aplikacji. Będzie bardziej jasne z programem C ++, który wdrożyliśmy poniżej.
Ponieważ musimy używać wektorów w naszym programie. Dlatego najważniejszą częścią jest zdefiniowanie wektora jako pliku nagłówka u góry implementacji kodu. Dodaliśmy plik wektorowy w sekcji nagłówka.
W ramach programu mamy klasę wektorową z typem int, a klasa wektorów ma zmienną „v.”W wektorze dodaliśmy pięć elementów całkowitej liczby całkowitej. Następnie mamy cykl iteracji pętli. Wewnątrz pętli For zadeklarowaliśmy iterator do wektora z nową zmienną „IT.”Następnie zmienna„ IT ”ma funkcję początkową i końcową do wyświetlania elementów wektorów.
#włączaćPowyższy program daje takie dane wyjściowe.
Przykład 3: Program wdrożenia tablicy o zmiennej długości w C ++ za pomocą STD :: Vector
Wektory służą do przenoszenia porównywalnych typów danych w C++. Rozmiar wektora, w przeciwieństwie do tablic, może rosnąć dynamicznie. Możemy dostosować rozmiar wektora w razie potrzeby w trakcie wykonywania programu. Plik nagłówka Vector musi być zawarty w naszym programie, aby wykorzystać wektory. Po uwzględnieniu biblioteki wektorowej w pliku nagłówka, możemy wykorzystać wektor jako std :: wektor w programie.
Po włączeniu biblioteki wektorowej u góry nazwieliśmy STD :: wektor wewnątrz głównej funkcji programu. Wektor jest deklarowany jako „liczby” i zainicjowany z pięcioma losowymi wartościami liczbowymi. Zmienna „liczba” jest ponownie zdefiniowana, która ma trzy elementy wektorowe z powyższego pojemnika wektorowego. STD :: Cout służy do wyświetlania długości wektora wewnątrz zmiennej „liczba” za pomocą funkcji rozmiaru.
#włączaćWyjście pokazuje długość określonej tablicy wektorowej w następujący sposób.
Wniosek
Podsumowując! Tutaj mamy szczegółową dyskusję na temat tablic o zmiennej długości we wstępie. Dlatego dowiedzieliśmy się, że C ++ zabrania macierzy o zmiennej długości (VLA). Określiliśmy powyższe sposoby na wdrożenie tablicy o zmiennej długości w C ++ i alternatywnych sposobach tablicy o zmiennej długości. Mogą być przydatne podczas interakcji z tablicami o zmiennej długości w C++.