Thread View: de.comp.lang.c++
3 messages
3 total messages
Started by Ullrich von Bassewitz
Wed, 06 Dec 1995 15:38
size_t signed oder unsigned?
Author: Ullrich von Bassewitz
Date: Wed, 06 Dec 1995 15:38
Date: Wed, 06 Dec 1995 15:38
28 lines
1261 bytes
1261 bytes
Weiss jemand, ob es eine definitive Aussage bezueglich des Datentyps size_t
gibt? Ist size_t signed oder unsigned oder ist das ueberhaupt nicht
definiert? Wenn eines der ersteren, wo steht das?
Der Grund fuer meine Frage: g++ warnt in der Version 2.7.0 bei Konstrukten
wie
for (int I = 0; I < sizeof (array); I++) {
....
}
"Warning: Comparison between signed and unsigned".
Einfachste Loesung ist es, anstatt int ein size_t zu nehmen. Je nachdem, was
ich mit I in der Schleife mache, kann es aber sein, dass ich wissen muss, ob
I mit Vorzeichen behandelt wird, oder nicht. Deshalb die Frage...
Im Prinzip macht es keinen Sinn, wenn size_t auch negativ werden kann, die
Frage ist ob das irgendwo (ANSI-C++?) beruecksichtigt worden ist.
Gruss
Uz
--
Ullrich von Bassewitz uz@ibb.schwaben.com
Re: size_t signed oder unsigned?
Author: Dietmar Kuehl
Date: Wed, 06 Dec 1995 19:13
Date: Wed, 06 Dec 1995 19:13
32 lines
2156 bytes
2156 bytes
Hi, Ullrich von Bassewitz (uz@wuschel.ibb.schwaben.com) wrote: : Weiss jemand, ob es eine definitive Aussage bezueglich des Datentyps size_t : gibt? Ist size_t signed oder unsigned oder ist das ueberhaupt nicht : definiert? Wenn eines der ersteren, wo steht das? 'size_t' ist 'unsigned'. Hier sind die einschlaegigen Referenzen inklusive Zitaten, die diese Aussage ausreichend fundieren: DWP (April Draft Working Paper) Kapitel 5.3.3 [expr.sizeof] Vers 6: "The result [of the sizeof operator -- dk] is a constant of an implementation defined type which is the same type as that which is named 'size_t' in the standard header <cstddef> (18.1)". DWP 18.1 gibt keine sachdienlichen Hinweise ausser das es in dem Kapitel steht, was die C Standard Headerfiles fuer C++ relevant macht, aber in "The Standard C Library", P.J.Plauger, Prentice Hall, wo Auszuege aus dem C Standard abgedruckt sind, findet sich in einem solchen (Seite 217): "The tpyes are ... size_t which is the unsigned integral type of the result of the sizeof operator; ...". : Im Prinzip macht es keinen Sinn, wenn size_t auch negativ werden kann, die : Frage ist ob das irgendwo (ANSI-C++?) beruecksichtigt worden ist. Das findet sich offenbar bereits in ANSI-C wieder. Allerdings habe ich zum ANSI C Standard nur das oben erwaehnte Buch zur Hand. Die Tatsache, das Plauger Chair of the Library Subcommittee of X3J11 (dem C Standardisierungskommitte) war, sollte allerdings ausreichen, um ihm zu glauben :-) -- dietmar.kuehl@uni-konstanz.de http://www.informatik.uni-konstanz.de/~kuehl I am a realistic optimist - that's why I appear to be slightly pessimistic
Re: size_t signed oder unsigned?
Author: Ullrich von Bassewitz
Date: Thu, 07 Dec 1995 15:47
Date: Thu, 07 Dec 1995 15:47
14 lines
804 bytes
804 bytes
Dietmar Kuehl (kuehl@uzwil.informatik.uni-konstanz.de) wrote:
> 'size_t' ist 'unsigned'. Hier sind die einschlaegigen Referenzen
> inklusive Zitaten, die diese Aussage ausreichend fundieren: DWP (April
Das klingt gut. Vielen Dank!
Gruss
Uz
--
Ullrich von Bassewitz uz@ibb.schwaben.com
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads