Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > Is there is any strong reason not to use standard native C++ data types

Reply
Thread Tools

Is there is any strong reason not to use standard native C++ data types

 
 
Abhishek Saksena
Guest
Posts: n/a
 
      08-10-2005
Hi all,
Is there is any strong reason not to use standard C++ native datatypes.
The only reason I can imagine is protability issuse on different
machines.But did C++ not gurantee portaibilty of standard native datatypes ?


 
Reply With Quote
 
 
 
 
ravinderthakur@gmail.com
Guest
Posts: n/a
 
      08-10-2005
hi abhishek,


no!!!

c++ dosn't gurantee the size of the native data types.
it only makes some very weak statements such as the size of int should
be greater than
or equal to short but never makes exact statement about the size.

thanks
rt.

 
Reply With Quote
 
 
 
 
Nick Keighley
Guest
Posts: n/a
 
      08-10-2005
http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:

please leave some context. The question is if C++ guarantees the
sizes of native data types

>
> no!!!
>
> c++ dosn't gurantee the size of the native data types.
> it only makes some very weak statements such as the size of int should
> be greater than
> or equal to short but never makes exact statement about the size.


it does, however, specify a minimum size. A char is at least 8 bits, an
at leat 16 bits and a long at least 32 bits. There are similar promises
for floating point types. Unsigned are the same size as their
corresponding signed types

--
Nick keighley

 
Reply With Quote
 
Maxim Yegorushkin
Guest
Posts: n/a
 
      08-10-2005

Nick Keighley wrote:

[]

> it does, however, specify a minimum size. A char is at least 8 bits, an
> at leat 16 bits and a long at least 32 bits. There are similar promises
> for floating point types. Unsigned are the same size as their
> corresponding signed types


It does not.

It only states that:

sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)

And that "Plain ints have the natural size suggested by the
architecture of the execution environment".

Refer to §3.9.1/2

 
Reply With Quote
 
msalters
Guest
Posts: n/a
 
      08-10-2005

Maxim Yegorushkin schreef:

> Nick Keighley wrote:
>
> []
>
> > it does, however, specify a minimum size. A char is at least 8 bits, an
> > at leat 16 bits and a long at least 32 bits. There are similar promises
> > for floating point types. Unsigned are the same size as their
> > corresponding signed types

>
> It does not.
>
> It only states that:
>
> sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)


It also states that these must be implemnted in some kind of binary
system, and that the ranges are at least (-127,127), (-32767,32767)
and so on. (by reference from C90)
Those ranges imply additional minimum sizes, as Nick correctly noted.

HTH,
Michiel Salters

 
Reply With Quote
 
Maxim Yegorushkin
Guest
Posts: n/a
 
      08-10-2005

msalters wrote:
> Maxim Yegorushkin schreef:
>
> > Nick Keighley wrote:
> >
> > []
> >
> > > it does, however, specify a minimum size. A char is at least 8 bits, an
> > > at leat 16 bits and a long at least 32 bits. There are similar promises
> > > for floating point types. Unsigned are the same size as their
> > > corresponding signed types

> >
> > It does not.
> >
> > It only states that:
> >
> > sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)

>
> It also states that these must be implemnted in some kind of binary
> system, and that the ranges are at least (-127,127), (-32767,32767)
> and so on. (by reference from C90)


C++ standard does not state that. C does indeed.

However, Derek M. Jones in his book "The New C Standard" quotes:

Resolutions Prepared at the Eleventh Plenary Meeting of
ISO/IEC JTC 1/SC22 Snekkersten, Denmark
August 24 27, 1998
Resolution 98-6: Relationship Between the Work of WG21 and that of WG14
Recognizing that the user communities of the C and C++ languages are
becoming increasingly divergent, ISO/IEC JTC 1/SC22 authorizes WG21 to
carry out future revisions of ISO/IEC 14882:1998 (Programming Language
C++) without necessarily adopting new C language features contained in
the current revision to ISO/IEC 9899:1990 (Programming Language C) or
any future revisions thereof.
ISO/IEC JTC 1/SC22 encourages WG14 and WG21 to continue their close
cooperation in the future.

 
Reply With Quote
 
Pete Becker
Guest
Posts: n/a
 
      08-10-2005
Maxim Yegorushkin wrote:
> msalters wrote:
>
>>
>>It also states that these must be implemnted in some kind of binary
>>system, and that the ranges are at least (-127,127), (-32767,32767)
>>and so on. (by reference from C90)

>
>
> C++ standard does not state that. C does indeed.
>


C90 imposes those minimum ranges through the requirements on CHAR_MIN,
etc. as specified in <limits.h>. C++ incorporates those requirements
through <climits>.

--

Pete Becker
Dinkumware, Ltd. (http://www.dinkumware.com)
 
Reply With Quote
 
Maxim Yegorushkin
Guest
Posts: n/a
 
      08-10-2005

Pete Becker wrote:

[]

> > C++ standard does not state that. C does indeed.
> >

>
> C90 imposes those minimum ranges through the requirements on CHAR_MIN,
> etc. as specified in <limits.h>. C++ incorporates those requirements
> through <climits>.


Understood.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: "Strong typing vs. strong testing" namekuseijin C Programming 214 10-17-2010 01:12 PM
Give Request.Cookies and Response.Cookies is there any reason to use another method to use cookies? _Who ASP .Net 7 09-18-2008 07:49 PM
Is there any strong reason for not using Templates? NewToCPP C++ 28 07-31-2006 08:32 PM
Compilation fails when a windows form user control is assigned a strong name but it refers to an activex control which does not have strong name ashish_gokhale ASP .Net Web Controls 0 05-05-2005 01:38 PM
Strong types (.NET) versus weak types (Python) j_mckitrick Python 2 11-13-2004 01:08 AM



Advertisments