hello, I experimented a little bit, and realised that
long
signed
unsigned
What are they there for?
2nd Question: Until now, with the help of Buckies Tutorials, I can construct some functions by myself. But I wonder: Every program also has an optical section. I mean, Every program u use on your PC isn't only a black screen with some text on it. So how does that work?
3rd Question: Do you have to lear the hexidecimal numbersystem in order to fully understand C++?
an int can only hold an int from the range of -2.4 billion to +2.4 billion, a long one can sometimes hold more, however a long long int can always hold more.
Type long long int
In C++03, the largest integer type is long int. It is guaranteed to have at least as many usable bits as int. This resulted in long int having size of 64 bits on some popular implementations and 32 bits on others. C++11 adds a new integer type long long int to address this issue. It is guaranteed to be at least as large as a long int, and have no fewer than 64 bits. The type was originally introduced by C99 to the standard C, and most C++ compilers support it as an extension already.[11][12]
2.
they use libraries which call the OS API which handles hardware, so you can draw stuff to the screen, take a look at SFML if you want to draw stuff, or Qt if you want a proper GUI.
3.
I don't think anyone fully understands C++, but if you were to attempt to then yeah, probably, however 99.9999999% of the time you won't need to.
Those are variable types and tells the compiler how to handle them. E.g. an unsigned variable can never have a negative value
So how does that work?
You can create such windows with the native API of the operation system or better use some libraries like wxWidgets or QT (or .NET)
Do you have to lear the hexidecimal numbersystem in order to fully understand C++?
Yes and no. Some operations are easier with hex but it's not required. It's part of the language though. Therefore you certainly will learn it sooner or later (it's rather easy)
long, signed, and unsigned are types, not functions.
long is the type that is at least as big as int (may be bigger), and at least 32 bits long.
signed and unsigned by themselves mean "signed int" and "unsigned int".
If signed accompanies an integer type (e.g. "signed char"), it means that the type should distinguish negative from positive values. I.e. it has a sign. unsigned means that the type only holds positive values or zero. Some types are by default signed and others are by default unsigned.
The distinction between signed and unsigned types is important when talking about certain operations. Most notably, bitwise operators behave counter-intuitively with signed types.
long, short, signed, and unsigned are "type modifiers". long /*type-id*/ means that the resulting type will sometimes hold more that the underlying type, like long int, long long int and long double. short /*type-id*/ means that the resulting type will sometimes be shorter that the underlying type, like short int. signed /*type-id*/ normally does nothing, except when used with char, when it sometimes makes it signed, if it was unsigned by default. unsigned /*type-id*/ means that the resulting type cannot hold negative values, but can hold twice as much positive values.