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

const int

Ostatnio zmodyfikowano 2013-04-01 18:27
Autor Wiadomość
magzeb
Temat założony przez niniejszego użytkownika
const int
» 2013-04-01 15:05:52
Witam,

Na wykładach przerabialiśmy tablice i rozmiar zadeklarowany był w następujący sposób:

C/C++
#include<iostream>
using namespace std;

int main()
{
    const int Max = 20;
    int tab[ Max ];
    int i = 0, j = 0;
    while( cin >> tab[ i ] )
         i++;
   
    for( j; j < i; j++ )
         cout << tab[ j ] << endl;
   
    system( "pause" );
   
}


Nie rozumiem co oznacza 'const' i  dlaczego tablica ma rozmiar dostosowany do ilości elementów, jakie wpiszemy, a nie max=20?
Czy to oznacza, że stała Max może się zzmieniać, a 20 to tylko jej 'przypadkoa' początkowa wartość?

Proszę pomóżcie zrozumieć, bo nie mogłam znaleźć rozwiązania w sieci.. Dzięki :)
P-79728
pekfos
» 2013-04-01 15:20:11
const
 oznacza stałą - taką zmienną, której nie można zmieniać. Max jest tu rozmiarem tablicy, a wyświetla się tylko tyle elementów, ile się wczytało.

W kodzie jest mały błąd, bo można wczytać więcej, niż Max elementów.
P-79730
RazzorFlame
» 2013-04-01 17:38:41
const
 oznacza stałą - taką zmienną, której nie można zmieniać.
Łatafak? Zmienna to zmienna a stała to stała. Zmienna to kontener na dane które można modyfikować. Stała to kontener na dane z tym że jeśli już raz ustalisz jej wartość (bądź nie - wtedy stała trzyma przypadkową wartość) to potem już tylko kompilator będzie Ci mięsem rzucał. Czyli:
C/C++
int zmienna = 15; //dozwolone
zmienna = 39; //dozwolone
//---------------------------------
const int stala = 20; //dozwolone
stala = 30; //blad!
//---------------------------------
const int stala2; //dozwolone - trzyma przypadkowa wartosc
stala2 = 40; //blad!!!
P-79739
pekfos
» 2013-04-01 18:27:12
Łatafak? Zmienna to zmienna a stała to stała.
W matematyce. W informatyce, coś jest na prawdę stałe, gdy znajdzie się w ROMie (a dobrze wiemy, że się tam nie znajdzie ;))

bądź nie - wtedy stała trzyma przypadkową wartość
Standard C++11:
const objects must be initialized in C++ but can be left uninitialized in C
P-79740
« 1 »
  Strona 1 z 1