size_t SIZE_MAX - ist -1 definiert? (siehe posting) :)
-
hi!
kann man sich stets darauf verlassen, das die folgende zeile immer 1 ausgibt?printf ( "compare: %d\n", SIZE_MAX == - 1 );was sagen die standardexperten dazu?
mfg!
-
wissewolle schrieb:
was sagen die standardexperten dazu?
Dass sich
SIZE_MAXnicht im C++-Standard befindet.
-
oooh!

-
Nexus schrieb:
wissewolle schrieb:
was sagen die standardexperten dazu?
Dass sich
SIZE_MAXnicht im C++-Standard befindet.
Na dann schau mal in Punkt 7.18.3 nach.
Zur ursprünglichen Frage: Glaube kaum, dass das garantiert ist. Kanns aber gerade nicht beweisen.
-
SG1 schrieb:
Na dann schau mal in Punkt 7.18.3 nach.
Ähm ja, Kapitel 7 (Declarations) hat genau 5 Unterkapitel.
-
nagut, dann ändere ich die frage

printf ( "compare: %d\n", ULONG_MAX == - 1 );ist die gleichheit definiert?
-
Nexus schrieb:
SG1 schrieb:
Na dann schau mal in Punkt 7.18.3 nach.
Ähm ja, Kapitel 7 (Declarations) hat genau 5 Unterkapitel.
Argh, hab mich im Forum vertan, sorry ^^
-
wissewolle schrieb:
nagut, dann ändere ich die frage

printf ( "compare: %d\n", ULONG_MAX == - 1 );ist die gleichheit definiert?
Ja, das ist immer so.
-
...weil der überlauf und unterlauf von unsigned (im gegensatz zu signed) variablen definiert ist.
(bei signed ist es aber glaub ich nicht undefined sondern implementation defined)bb
PS: im thread titel "siehe posting" zu schreiben ist glaub ich ein wenig sinnlos ;o)