Adding "extern template" (Version 2)
A number of compilers allow the programmer to suppress the implicit instantiation of templates by prefixing an explicit instantiation directive with the extern keyword. This document proposes specific semantics for this feature.
Bjarne Stroustrup Expounds on Concepts and the Future of C++
Danny Kalev asks Bjarne the hard questions about concepts and C++'s future.
The C++0x "Remove Concepts" Decision
This note explains the reasons for the removal of "concepts," briefly outlines the controversy and fears that caused the committee to decide the way it did, gives references for people who would like to explore "concepts," and points out that (despite enthusiastic rumors to the contrary) "the sky is not falling" on C++.
Concepts (Revision 1)
Concepts introduce a type system for templates that makes templates easier to use and easier to write. By checking the requirements that templates place on their parameters prior to template instantiation, concepts can eliminate the spectacularly poor error messages produced by today’s template libraries, making them easier to use. [PDF]
Decltype (Revision 5)
Suggests extending C++ with a decltype operator for querying the type of an expression. Also suggests a new function declaration syntax, which allows one to place the return type expression syntactically after the list of function parameters. [PDF]
Draft ANSI C++ Standard
October 1997 working paper of the proposed standard.
A subset of C++ intended for embedded systems programming. It is defined by an industry consortium, the Embedded C++ Technical Committee.
Buy a PDF version of the official C++ programming language standard from the ANSI Electronic Standards Store.
The international standardization working group for the programming language C++.
Library TR1 Information
Contains links to the latest library TR1 (technical report 1) draft as well as to the most relevant standardization documents that motivate and explain TR1 functionality.
Living By the Rules
Understanding compiler rules better equips you to interpret messages the compiler sends you.
Living By the Rules: Part II
Discusses the addition of almost all of TR1 to the new C++ Standard.
Memory Model for Multithreaded C++
Proposes integrating a memory model suitable for multithreaded execution in the C++ Standard. On top of that model, a standard threading library is proposed. [PDF]
Modules in C++ (Revision 4)
This paper proposes a module mechanism (somewhat similar to that of Modula-2) with three primary goals: significantly improve build times of large projects, enable a better separation between interface and implementation, and provide a viable transition path for existing libraries. [PDF]
The New C++
Introduces people and groups involved in the C++ standardization process.
The New C++: Smart(er) Pointers
Takes a closer look at one of the proposed facilities - smart pointers, which were discussed again at the April 2002 standards meeting.
The New C++: The Group of Seven
Presents a survey of the first batch of suggested library extensions that were considered at the October 2001 WG21/J16 meeting in Redmond.
The New C++: Trip Report
An update on the most recent C++ standards meeting, and why things are (finally) heating up.
The New C++: Typedef Templates
Presents an overview of the proposed typedef templates.
Proposal to add Contract Programming to C++ (Revision 3)
This proposal describes a small assertion sub-language that unifies compile-time and run-time assertions. The benefits are among others a higher degree of self-documenting source code, better design tools, and easier debugging and testing.
Proposal to Add Static Assertions to the Core Language (Revision 3)
The C++ language currently supports two facilities for testing software assertions: the assert macro and the #error preprocessor directive. Neither of these facilities is appropriate for use in template libraries.
Right Angle Brackets (Revision 2)
Explains ways to allow >> to be treated as two closing angle brackets, as well as to discuss the resulting issues. A specific option is proposed along with wording that would implement the proposal in the current working paper.
Strict Mode for C++: Early Draft Proposal
Small number of changes which allow safely encapsulating pointer operations, via "smart pointers" and version of STL with subscript and iterator checks. For next generation of C++ revision cycle; refined with online C++ community.
The Removal of Concepts From C++0x
Discusses three questions related to the removal of concepts: what led to the failure of Concepts, how will the removal of Concepts affect C++0x, and will Concepts make a comeback in the near future? (July 17, 2009)
Easier C++: An Introduction to Concepts
C++0x concepts bring the full power of the Generic Programming paradigm to C++, making templates more expressive, easier to write, and easier to use. Spectacularly poor template error messages are a thing of the past! (August 18, 2008)
Trip Report: Ad-Hoc Meeting on Threads in C++
The C++ standardization committee is hard at work standardizing threads for the next version of C++. Some members recently met to discuss the issues. (October 17, 2006)
A Brief Look at C++0x
Offers a sneak peek at the next version of standard C++. It briefly outlines the guiding principles of the work on C++0x, presents a few examples of likely language extensions, and lists some proposed new standard libraries. (January 02, 2006)
Toward a Standard C++0x Library, Part 1
This article appeared in C/C++ Users Journal, 20(1). (January 01, 2002)
Last update:June 11, 2013 at 15:46:37 UTC