Tömb értéke egyenlő tömbbel, hogyan?
Tehát pl. van egy pelda[5] nevű tömb.Van egy másik pelda[2]
nevű tömb. Hogy lehet elérni, hogy a két tömb mind az öt eleme ugyanannyi értékű legyen?
Mert pl. pelda[5]=pelda2[5] ez nem csak azt jelenti,hogy a pelda 5. eleme egyenlő pelda2 5. elemével?
Index nélkül lehet hivatkozni tömbre?
1. std::copy
2. Használj okosabb tárolókat (std::array), amiknek van másoló konstruktora és operator=-je.
"pelda[5]=pelda2[5] ez nem csak azt jelenti,hogy a pelda 5. eleme egyenlő pelda2 5. elemével?"
De.
Egyszerű for ciklussal indexenként minden elemet átmásolhatsz. Probléma akkor lehet, ha a két tömb nem ugyanakkora méretű...
"Index nélkül lehet hivatkozni tömbre?"
Lehet, az első elemére, mivel a tömb valójában egy első elemre mutató pointer.
Ha fontos az egyszerű értékadás ne tömböt használj hanem vektort pl.
"Lehet, az első elemére, mivel a tömb valójában egy első elemre mutató pointer."
Ne. Ezt ne.
Mert a tömb nem pointer, és a pointer nem tömb.
Legegyszerűbb megmutatni:
int tomb[10];
int* pointer;
cout << sizeof(tomb) == sizeof(pointer) << '\n';
Mert a tömb neve megfelelő környezetben implicit és gond nélkül konvertálódik az első elemre mutató mutatóvá, emiatt olybá tűnhet, hogy a tömb pointer. Még a szintaxis is segít:
void f(int[] tomb)
{
sizeof(tomb) == sizeof(int*);
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!