C++11 Introduction to the New Standard Alejandro Cabrera February 1, 2012 Florida State University Department of Computer Science Overview A Brief History of C++ ● Features Improving: ● Overall Use ● Meta-programming ● Resource-critical/High-performance Programming ● Class and Object-Oriented Design ● New Libraries ● How to Use it Today ● A Brief History C With Classes – C++ v2.0 ● C++98 ● Boost C++ Libraries ● C++03 and C++TR1 ● C++11 ● C With Classes (1979) Started as a result of Ph.D. thesis work of ● Bjarne Stroustrup Added to C: ● Classes ● Derived classes ● Strong type checking ● Inlining ● Default function arguments ● C++ v 1.0 (1983) Added to C With Classes: ● Virtual functions ● Function name and operator overloading ● References ● Constants ● User-controlled, free-store memory control ● Improved type checking ● Single-line comments ● The C++ Programming Language 1e published ● (1985) C++ v 2.0 (1989) The C++ Programming Language 2e ● published (1991) Added to C++ v 1.0: Late additions: ● ● Multiple inheritance ● Templates ● Abstract classes ● Exceptions ● Static member functions ● Namespaces ● const member functions ● New-style casts ● Protected members ● Boolean type ● C++ 98 (1998) C++ is standardized (ISO/IEC 14882:1998) ● Standard includes language core and standard ● library Standard library includes C library, containers, ● I/O streams, and much more Boost C++ Libraries (199x) The Boost C++ libraries provide portable, ● efficient implementations of many C++ library components Often times, libraries that appear in later ● standards make their debut in Boost Boost releases go back as far as 1999 ● For more information, visit: ● http://www.boost.org/ C++ 03 (2003) Correction to C++ standard is published ● (ISO/IEC 14882:2003) TR1, an extension to the standard library, was ● also published around this time (2005) TR1 is only a draft, not a standard ● Most features detailed in TR1 became part of 2011 ● standard C++ 11 (2011) Unanimously approved by C++ committee in ● August 2011 C++11 brings many new features, many that ● make it more apparent that C++ is a hybrid language This presentation will cover most of the new ● features in detail
Description: