C++-ban, hogyan helyezhetnék el mutatókat egy lista néhány elemére?
Van egy n elemű listám ami tegyük fel int-eket tartalmaz(std::list<int,n>). Engem érdekel néhány elem ebből a listából. Ezeket én egy int típusú mutatókat tartalmazó listába szeretném tenni.
Hogyan próbálkoztam:
Amikor töltöm fel az eredeti listát a list::back() függvénnyel hozzáférhetek az utolsó elemhez. Ha erre helyezek egy mutatót akkor a mutató is állandóan az utolsó helyre mutat, röviden... nem marad ottan.
Remélem érthető mit akarok csinálni és mi nem müxik.
Pl:
const int n = 10;
list<int, n> eredetiLista;
list<int*, n> mutatok;
for (int i = 0; i < n; ++i)
{
"tortenik valami"
eredetiLista.push_back(egy_lista);
"tortenik valami"
int *egyMutato = &eredetiLista.back();
mutatok.push_back(egyMutato);
}
A problémám, hogy a mutatok lista összes eleme az eredetiLista utolsó elemére mutat.
Mond el légyszíves, hogy hol van a list-nek méret típusparamétere? Eleve értelmetlen a típust a mérettel összekapcsolni, mint ahogyan a pascal tömbjénél van.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!