Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rozmiar tablicy wpisywany z klawiatury? To nie powinno działać.

Ostatnio zmodyfikowano 2009-08-24 00:08
Autor Wiadomość
aRusher
Temat założony przez niniejszego użytkownika
Rozmiar tablicy wpisywany z klawiatury? To nie powinno działać.
» 2009-08-23 15:08:29
Uczyłem się, że rozmiar tablicy musi być stałą całkowitą większą od zera, znaną już na etapie kompilacji (nie mówię tutaj o dynamicznej alokacji tablicy).
Z ciekawości napisałem w Devie taki kodzik:

#include <iostream>
int main()
{
 int rozmiar;
 std::cin >> rozmiar;
 char tabl[rozmiar];
 std::cout << sizeof(tabl) << std::endl;
 std::system("pause"); 
}
Prolem w tym, że nie ma żadnego błędu kompilacji, co gorsza, wypisuje mi rozmiar tablicy taki sam, jaki podałem z klawiatury. Jakieś wyjaśnienie?
P-9754
eBbi
» 2009-08-23 15:15:46
noto widocznie da się i tyle ;p. No ale jak byś chciał zrobić globalną tablice to tak nie zainicjujesz jej wielkości.
P-9755
aRusher
Temat założony przez niniejszego użytkownika
» 2009-08-23 15:46:52
VLA?
P-9757
aRusher
Temat założony przez niniejszego użytkownika
» 2009-08-23 23:11:57
Ok, dzięki za odpowiedzi. Mimo, że jest taka opcja jak VLA, nie sądzę, bym powinien jej używać, prawda?
P-9785
WunM
» 2009-08-24 12:17:24
Zresztą w C++ już lepiej użyć wektora (lub innego kontenera),  niż "zwykłej" tablicy.
P-9795
manfred
» 2009-08-23 15:31:01
Rozszerzenie GCC i tyle. Żaden inny kompilator C++ nie udostępnia VLA (C to co innego, bo tam VLA są w standardzie).
P-19211
manfred
» 2009-08-23 16:12:38
Variable-length array.
P-19214
manfred
» 2009-08-24 00:08:19
W C++ czegoś takiego nie ma, to tylko dobra wola gcc (tylko zawsze mogą to usunąć w którejś wersji), że takie coś udostępnia. Już lepiej (też niestandardowa, ale prawie wszędzie występuje) użyć funkcji alloca().
P-19220
« 1 »
  Strona 1 z 1