W jaki sposób mogę odnieść się do ostatniej wartości w tablicy?

0

W jaki sposób mogę odnieść się do ostatniej wartości w tablicy. Chodzi mi o coś takiego jak w javie czyli: tab.length-1 Istnieje coś takiego?

0
int size = 5;
int tab[] = new int[size];
int ostatni = tab[size-1];
delete[] tab;

Jesli czegos nie schrzanilem, to powinno dzialac ;)

Generanie w C++ nie ma informacji o wielkosci tablicy zapisanej w tejze tablicy.

0

Schrzaniłeś, new zwraca wskaźnik.

Ale do rzeczy: wielkość (w bajtach, nie ilość elementów) tablicy zadeklarowanej na stosie zwróci ci operator sizeof. Zrobi to z racji tego, że ilość elementów tablicy zadeklarowanej na stosie musi być znana na etapie kompilacji i ten sizeof zostanie zamieniony właśnie na tę liczbę.

int tablica[] = { 1, 5, 2, 7, 2 };
int rozmiar = sizeof tablica / sizeof tablica[0];

int ostatni = tablica[rozmiar - 1];

Ilości elementów w tablicy zadeklarowanej na stercie (ew. mając wskaźnik na pierwszy element) nie da się pobrać. Nazwą, którą się posługujesz, to tylko wskaźnik na pierwszy element. Wielkość musisz przekazywać sam albo sprawdzać ją w inny sposób (przykładowo, napisy w C kończą się znakiem o kodzie 0).

1 użytkowników online, w tym zalogowanych: 0, gości: 1