Jeg har en struct med en char* og i min main har jeg også en char*. Denne char* i main vil jeg gerne have over i min struct, men jeg ved ikke om jeg gøre det på en forkert måde da jeg bare bruger = operatoren. Skal jeg bruge en strcpy()? Ville det være mere sikker, eller vil det bare være den rigtige måde at gøre det på? Jeg har prøvet at printe deres adresser ud, og for mig ser det ud til at de alle har forskellige adresser. Min store frygt er vel bare pointeren, som jo egentlig her bliver repræsenteret som en tekst streng. Jeg er ikke den habile C programmør, derfor mit spørgsmål. Min kode er her: #include <iostream> using namespace std;
Jeg vil jo bare gerne vide om pointerne peger på det samme sted i hukommelsen, for så har jeg jo ikke rigtig lavet en kopi :) Så jeg skal vel ud i noget kopering?
Jep. Jeg er vant til at arbejde med normale pointere, men dette er i med objekter i C++ og her udarbejder jeg jo en operator= som netop kopierer data'erne for mig, men dette er pointer og ikke en char pointer. Jeg har aldrig arbejdet med char* før, men jeg er da blevet lidt klogere :) Så vil jeg igang med strcpy.
Martin, du skriver: "her udarbejder jeg jo en operator = som netop kopierer data'erne for mig" En = operator for en char * (eller anden pointer) kopierer netop ikke data, den sætter bare pointerne til at pege på noget. Uanset om det er i en struct eller class om det er C eller C++
bertelbrander << Ja :) Men jeg blander jo det hele sammen. Mere det jeg vil frem til. Jeg skal også lige vende mig til at den første indgang i et array er det samme som en const pointer, og derfor kan bruges i C funktionerne som tager en const pointer. Der er så meget der er ny for mig i C verdenen, men jeg kan allerede nu se at jeg får mere og mere indblik i programmeringen da jeg føler at jeg kommer lidt tættere på med C programmeringen, og det har også været en øjenåbner for min C++ programmering... Nå men nok om min livshistorie.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.