Thread: Casting?
View Single Post
Old Dec 20th, 2006, 7:20 AM   #19
grumpy
Programming Guru
 
grumpy's Avatar
 
Join Date: Jun 2005
Location: Adelaide, South Australia
Posts: 1,260
Rep Power: 5 grumpy will become famous soon enough
Quote:
Originally Posted by Narue View Post
>PS: In the future whenever I find something not clear to me I will say: "Ah, it's probably implementation defined".
That sounds like a good way to jump into the realm of "undefined", which is something like implementation-defined, but much much more dangerous. How about instead of making assumptions when something isn't clear, you do research to make it clear?
Indeed. When I used the term "implementation defined" earlier I was using a language known as "C++-standardese" which is not quite the same as English, but looks enough like English to confuse people unfamiliar with some of the corners of C++.

The terms "implementation-defined behavior" (curse that impure Americanized spelling), "undefined behavior", "unspecified behavior", and several others are given very specific definitions in the C++ standard.

For example, clause 1.3.5 in the standard defines "implementation-defined behavior" as "behavior, for a wellformed program construct and correct data, that depends on the implementation and that each implementation shall document".

Then, later, section 7.1.5.2 states "It is implementation-defined whether bit-fields and objects of char type are represented as signed or unsigned quantities. The signed specifier forces char objects and bit-fields to be signed; it is redundant with other integral types."
grumpy is offline   Reply With Quote