[C++][Visual Studio 2013] Deklarowanie tablic
Ostatnio zmodyfikowano 2014-03-18 17:25
Hipochondryk Temat założony przez niniejszego użytkownika |
» 2014-03-17 17:25:35 może i nie zmienili Moniko, ale dla mnie to zmiana po przesiadce z deva na Visuala, dlatego pytałem :) |
|
OczkoSX |
» 2014-03-17 17:49:45 TO: //pseudokod int n; cin>>n; const int x =n; int tab[n];
Tobie nie działało ponieważ próbowałeś przypisać wartość do stałej... logiczne :D Od siebie odradzam tablice dynamiczne, i zalecam zastosowanie Vectora. Prosty w użyciu, nie ma zabawy ze wskażnikami. Nie trzeba zwalniać pamięci :D |
|
Hipochondryk Temat założony przez niniejszego użytkownika |
» 2014-03-17 18:18:02 o widzę , że błąd zrobiłem :D int n; cin>>n; const int x =n; int tab[x]; miałem na myśli to :) no a do stałej kiedyś trzeba przypisać wartość :) |
|
michal11 |
» 2014-03-17 18:27:48 OczkoSX chodziło o ten fragment const int x = n; |
|
OczkoSX |
» 2014-03-17 18:56:51 Do stałej przypisuje się wartość przed kompilacją, np const int stała = 15; |
|
Monika90 |
» 2014-03-17 19:03:29 Do stałej przypisuje się wartość przed kompilacją, np const int stała = 15; |
Albo po kompilacji. const int n = read_int( std::cin ); |
|
OczkoSX |
» 2014-03-17 20:48:29 A nie wiedziałem. Wczytuje wartość z strumienia? |
|
Adik80 |
» 2014-03-18 13:17:24 Ale przypisanie wartosci do stalej przed i po kompilacji troche sie rozni. Jesli stala przypisana jest przed kompilacja to kompilator wstawi wartosc w kodzie i taki zapis jest poprawny: conts int n = 15; int tab[ n ]; jesli do stalej jest przypisywana jest wartosc w czasie dzialania (np. tak jak napsiala Monika) to kompilator uzywa zmiennej i taki zapis jest niepoprawny: const int n = read_int( std::cin ); int tab[ n ]; Wyjatkiem jest gcc, gdzie VLA jest dostepne w c++ jako rozszerzenie. Rozwiazaniem ma byc dynarray, ale to ma byc chyba dopiero w c++14. |
|
1 « 2 » 3 |