🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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?
#962
Author: Ullrich von Bassewitz
Date: Wed, 06 Dec 1995 15:38
28 lines
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?
#964
Author: Dietmar Kuehl
Date: Wed, 06 Dec 1995 19:13
32 lines
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?
#974
Author: Ullrich von Bassewitz
Date: Thu, 07 Dec 1995 15:47
14 lines
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