Boost logo

Boost :

From: Alexander Terekhov (terekhov_at_[hidden])
Date: 2002-08-24 14:40:39


"Victor A. Wagner, Jr." wrote:
>
> At Saturday 2002/08/24 10:56, you wrote:
> >Alex,
> >
> >You mentioned a programming language, C. Its name resembles that of the
> >language used by Boost, but are we still, after The International
> >Standard, allowed to deduce semantics in C++ from its cousin (former
> >sibling) C? I am just curious if there are still implicit bridges in
> >semantics between the two, such as "any valid C program is also a valid
> >C++ program..."
>
> I believe there are many counter examples to this.

Well, in C++, abort() is declared in <cstdlib> header, and the standard
also says this:

"....
 [lib.support.start.term] 18.3 Start and termination

 1 Header <cstdlib> (partial), Table 18:

 2 The contents are the same as the Standard C library header <stdlib.h>,
   with the following changes:

  abort(void)

 3 The function abort() has additional behavior in this International
   Standard: ^^^^^^^^^^^^^^^^^^^

   — The program is terminated without executing destructors for objects
     of automatic or static storage duration and without calling the
     functions passed to atexit() (3.6.3).

    extern "C" int atexit(void (* f)(void))
    extern "C++" int atexit(void (* f)(void))
 ...."

"....
 [intro.refs] 1.2 Normative references

 1 The following standards contain provisions which, through reference
   in this text, constitute provisions of this International Standard.
   At the time of publication, the editions indicated were valid. All
   standards are subject to revision, and parties to agreements based
   on this International Standard are encouraged to investigate the
   possibility of applying the most recent editions of the standards
   indicated below. Members of IEC and ISO maintain registers of
   currently valid International Standards.

   — ISO/IEC 2382 (all parts), Information technology – Vocabulary
   — ISO/IEC 9899:1990, Programming languages – C
   — ISO/IEC 9899/Amd.1:1995, Programming languages – C,
     AMENDMENT 1: C Integrity
   — ISO/IEC 106461: 1993 Information technology – Universal
     MultipleOctet Coded Character Set (UCS) – Part 1: Architecture
     and Basic Multilingual Plane

 2 The library described in clause 7 of ISO/IEC 9899:1990 and clause 7
   of ISO/IEC 9899/Amd.1:1995 is hereinafter called the Standard C
   Library.1) .... 1) With the qualifications noted in clauses 17
   through 27, and in C.2, the Standard C library is a subset of the
   Standard C++ library.
 ...."

regards,
alexander.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk