C++ ban egyszerű kérdés, pointer?
Most ismerkedek vele, van is egy kódom:
#include <iostream>
using namespace std;
int main() {
int *mutat;
mutat = new int;
if (mutat == NULL) {
cout << "Hibas memoriafoglalas!\n";
return -1;
}
cout << "A memoriacim: " << mutat << " .\n";
cout << "Ussunk be egy szamot: ";
cin >> *mutat;
cout << " A valasztott szamod: " << *mutat << "Memoriacime: " << mutat << ". \n";
delete mutat; //felszabaditas memoriateruletnel
}
a kérdésem arra irányulna hogy a *mutat -al jelezzük hogy pointer, ez mutat egy memóriacimre. viszont ha elneveztük egy pointert, miért szükséges egy ujra mutat= new int dolog? előzőleg nem deklaráltuk a *mutattal,hogy ez egy pointer,ami memóriacimre mutat,nem mellesleg változó? Próbáltam másféleképpen,ugy mindig hibákat dobott ki forditó, igy gondolom mindig igy kell,ha pointert akarok a kódomban,csak a logikáját,a miérteket nem értem igazán. Köszi aki elmagyarázza :)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Neked nincsen változód, aminek hely lenne a mamóriában. Neked csak egy mutatód van, ami intre mutathat. Viszont kell egy sima int változó, amire mutathatsz. Ezt úgy éred el, hogy vagy new int, és akkor kell delete, vagy csinálsz egy sima int-et
int szam;
mutat=&szam;
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
nem kéne a new, ha lenne egy változód, amire rámutat a "mutat"
pl.:
int a;
int * mutat = &a;
Ha nem mondod meg neki, hogy hova mutasson, csak lóg a nagyvilágba.
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!