wazer | 2021-02-17 10:25:18 UTC | #1
W wielu miejscach pisze że rozmiar tablicy musi być znany w trakcie kompilacji, ale spróbowałem utworzyć tablice o rozmiarze wpisanym przez użytkownika i działa
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
int tabl[a];
for (int i = 0; i < a; ++i) {
cout << i << ':';
cin >> tabl[i];
}
for (int i = 0; i < a; ++i) {
cout << i << ':' << tabl[i] << endl;
}
return 0;
}
jak to jest z tymi tablicami?
Nieznajomy11 | 2020-11-11 22:05:49 UTC | #2
[quote=”wazer, post:1, topic:16689”]
jak to jest z tymi tablicami?
[/quote]
Wsparcie zależy od kompilatora. Fakt, że twój kod się skompilował i działa wynika z faktu, że domyślnie GCC (G++) wspiera zmienne przy deklaracji rozmiaru tablicy. Zapewne to był kompilator, którego użyłeś.
Sam standard, na czym buduje się tak zwaną teorię, jednak nie przewiduje czegoś takiego. A generalnie to w bardziej sensownych rzeczach niż proste zadanka używa się np. std::vector jeśli potrzebujemy dynamicznego rozmiaru.
system | 2021-02-17 10:31:43 UTC | #3
Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.