Re: sizeof(int) - processor's architecture depandance
speedplane wrote:
It is most certainly architecture specific. However having a
16-bit, 32-bit, or 64-bit processor does not really make a
difference. It sizeof(int) may still be 4 on a 16-bit
processor. On most processors (except for some really old
ones) sizeof(int) will be 4.
I'm not sure, but I think it is actually 2 on the most widely
used processor today. There are also a number of modern
processors where it is 1.
Not all the world is a PC.
However if you think that it will be a problem for you, many
people create a header file and define there own types with
fixed sizes.... for example:
typedef unsigned int uint32
typedef signed int int32
typedef signed short int16
...
A better solution might be to ask why it is a problem, and fix
the problem at the source, rather than hacking around it. There
are very, very few operations where you actually need a fixed
size.
There's also a standard header in C (and in the next version of
C++) which will contain all the necessary typedef's. And a way
of testing whether the size is available: not all hardware (even
today) has a 32 bit integral type.
--
James Kanze kanze.james@neuf.fr
Conseils en informatique orient?e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S?mard, 78210 St.-Cyr-l'?cole, France +33 (0)1 30 23 00 34
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]