Jakim poleceniem w C++ można dopisać do tablicy jakieś dane? Odpowiednik w pythonie: tablica.append()...
Jak sprawdzić liczbę elementów w tablicy?
Jakim poleceniem w C++ można dopisać do tablicy jakieś dane? Odpowiednik w pythonie: tablica.append()...
Jak sprawdzić liczbę elementów w tablicy?
Tablica to tablica. Nie da sie do niej nic dopisać bo ma stały rozmiar. Nie da sie też sprawdzić jej rozmiaru jeśli to tablica tworzona dynamicznie za pomocą new[]. Jeśli jest to tablica na stosie to można za pomocą sizeof(). Taka "tablica" jak pythonowa lista to jest <vector> albo <list>.
Zwykła tablica - nie da się rozszerzyć i nie da się sprawdzić rozmiaru.
Ale istnieje wektor:
vector<int> tb(10); //10 -elementów
tb.resize(25) // 25 elementów
tb.size(); // aktualny rozmiar
A jak wykonać pętlę for tyle razy, ile jest elementów w tablicy?
Czy jest jakiś odpowiednik w C++?
W pythonie byłoby:
tabela1=[]
for i in tabela1:
print i
Jeśli używasz <list> lub <vector> to tak bo mają one zarówno iteratory jak i metody size()
Metodę size()
oraz iteratory ma również obiektowy wrapper na tablicę, czyli std::array
. Wielkość samej tablicy możesz również uzyskać za pomocą operatora sizeof
. Nie zadziała to jednak wtedy, gdy pamięć zaalokoujesz za pomocą operatora new
, bo dostaniesz wtedy jedynie wskaźnik na pierwszy element (do tego będzie klasa std::dynarray
z C++14).
Obecnie użyłbym jednak vector
albo list
.
using namespace std;
// Tablica 5-cio elementowa, którą można rozszerzać.
vector<int> tab(5);
// Dodanie nowego elementu do tablicy.
tab.push_back(8);
// Odczyt rozmiaru tablicy.
tab.size();
// Pętla for dla całej tablicy.
for (int v : tab)
{
}