Incompatibilities Between ISO C and ISO C++

Incompatibilities Between ISO C and ISO C++

This long document lists the incompatibilities between C99 (C standard ratified by ISO in 1999) and C++98 (C++ standard ratified by ISO in 1998).

Tag(s): C / C++

Publication date: 01 Aug 2001

ISBN-10: n/a

ISBN-13: n/a

Paperback: n/a

Views: 18,471

Type: N/A

Publisher: n/a

License: n/a

Post time: 19 Nov 2004 08:31:32

Incompatibilities Between ISO C and ISO C++

Incompatibilities Between ISO C and ISO C++ This long document lists the incompatibilities between C99 (C standard ratified by ISO in 1999) and C++98 (C++ standard ratified by ISO in 1998).
Tag(s): C / C++
Publication date: 01 Aug 2001
ISBN-10: n/a
ISBN-13: n/a
Paperback: n/a
Views: 18,471
Document Type: N/A
Publisher: n/a
License: n/a
Post time: 19 Nov 2004 08:31:32
Document excerpts:

When we say that C is incompatible with C++ with respect to a specific language feature, we mean that a C program that employs that feature either is not valid C++ code and thus will not compile as a C++ program, or that it will compile as a C++ program but will exhibit different behavior than the same program compiled as a C program. In other words, an incompatible C feature is valid as C code but not as C++ code. All incompatibilities of this kind are addressed in this document. Avoiding these kinds of incompatibilities allows the programmer to write correct C code that is intended to interact with, or be compiled as, C++ code.

Another form of incompatible feature is one that is valid when used in a C++ program but is invalid in a C program. We call this an incompatible C++ feature. Huge portions of the C++ language fall into this category (e.g., classes, templates, exceptions, references, member functions, anonymous unions, etc.), so very few of these kinds of incompatibilities are addressed in this document.

Yet another form of incompatible feature occurs when a C++ program uses a feature that has the same name as a C90 (ratified in 1990) feature but which has a different usage or meaning in C (ratified in 1999). This document covers these kinds of incompatibilities.

This document lists only the incompatibilities between C99 (C standard ratified by ISO in 1999) and C++98 (C++ standard ratified by ISO in 1998).




About The Author(s)


No information is available for this author.

David R. Tribble

No information is available for this author.


Book Categories
Sponsors