Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   C++ Vraagje (https://forum.scholieren.com/showthread.php?t=1893195)

wegwerpaccount 05-08-2014 19:10

C++ Vraagje
 
Hey iedereen, een tijdje terug ben ik begonnen met C++ te leren gewoon als hobby zo nu en dan en dit doe ik via een aardig uitgebreide site die voor mij wel lijkt te werken.
Nou is het over het algemeen wel te doen in het Engels alleen kwam in vanmiddag iets tegen wat ik niet helemaal volgde.

Als ik het goed heb laat
Code:

sizeof(variabele naam zoals "x")
je weten hoeveel bytes x is.
Alleen hoe komt het dan dat dit perfect werkt:
Code:

int main()
{
using namespace std;
int x;
cout << "x = " << sizeof(x) << endl;
return 0;
}

Alleen bij deze krijg ik bij z precies hetzelfde antwoord als bij b en y, dus wat doe ik hier fout en wat moet ik doen als ik de sizeof() van b + y wil weten?

Code:

int main()
{
    using namespace std;
    int y;
    int z;
    int b;
    cout << "b = " << sizeof(b) << endl;
    cout << "y = " << sizeof(y) << endl;
    cout << "z = " << sizeof(b + y) << endl;
    cin >> z;
   
    return z;

}


Dus als iemand mij hiermee even op een ELI5 manier kan helpen zou ik dat erg fijn vinden!

-wegwerpaccount

ThomasJu 06-08-2014 20:50

Sizeof geeft aan hoeveel bytes de variabele in beslag neemt in het geheugen. Voor een integer zijn dat 4 bytes. Dit is onafhankelijk van de waarde, in deze 4 bytes kan je elk getal (binnen het bereik) opslaan.

Daarom geven ze alle 3(b, y, b+y) de zelfde waarde aan.
Omdat je voor die laatste een normale optelling doet met 2 int's blijft het een int (Let op op met vermenigvuldigen en en delen, want dan kan het anders worden)

Carn 07-08-2014 19:47

Yep, een int is doorgaans 4 bytes/ 32 bits;

y = 1 (in bits: 00000000 00000000 00000000 00000001 = size=32, of 4, weet niet wat sizeof returned)
z = 1 (idem)
y+z=2 (size=00000000 00000000 00000000 00000010 = size=32, of 4)

zoiets.

PiettePeter 14-08-2014 15:24

Jup, hadden ze trouwens geen forum of helpdesk op die site zelf?
Welke site trouwens? If I may ask :P


Alle tijden zijn GMT +1. Het is nu 21:58.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.