Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Bare lige for at være helt sikker, men kan heller ikke lave en bit-vise kopiering af en void* vel? Jeg mener, hvorfra skulle compileren vide hvor meget objektet fylder?
Jeg er ikke sikker på at jeg forstå hvad du mener med "bit-vise kopiering".
Man kan godt kopiere med memcpy, men det er en c-funktion der ikke kender størrelse på objecter. Men man kan ikke bruge std::copy
Indholdet af en void * (som måske er en void) har ikke nogen størrelse. Så man kan ikke bruge: void *p = Something(); p += 12; (Selvom GCC godt kan overtales til at acceptere det.)
Det er bare fordi jeg er ved at linked liste, som indeholde void*, for at den skal kunne bruges til alt. Jeg ville så gerne lave en operator=, så jeg kunne tage en kopi, men jeg kan ikke kopiere void*'erne.
Men det er vel ikke så mærkeligt, når den ikke kunder typen.
Du er nød til at kende størrelsen (i bytes) på det du vil kopiere. Kender du den kan du bruge memcpy.
Men er en af ideerne med linkede lister ikke at man ikke skal kopiere?
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.