Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us
Search
Cart
Book cover

European Symposium on Programming

ESOP 2012: Programming Languages and Systems pp 1–25Cite as

  1. Home
  2. Programming Languages and Systems
  3. Conference paper
Foundations of C++

Foundations of C++

  • Bjarne Stroustrup17 
  • Conference paper
  • 2002 Accesses

  • 5 Citations

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 7211)

Abstract

C++ is a large and complicated language. People get lost in details. However, to write good C++ you only need to understand a few fundamental techniques – the rest is indeed details. This paper presents fundamental examples and explains the principles behind them. Among the issues touched upon are type safety, resource management, compile-time computation, error-handling, concurrency, performance, object-oriented programming, and generic programming. The presentation relies on and introduces a few features from the recent ISO C++ standard, C++11, that simplify the discussion of C++ fundamentals and modern style.

Keywords

  • C++
  • programming style
  • fundamental techniques

Download conference paper PDF

References

  1. ISO/IEC JTC1 SC22 WG21 N3092: Programming Languages — C++

    Google Scholar 

  2. Stroustrup, B.: The C++ Programming Language (Special Edition). Addison Wesley, Reading (2000) ISBN 0-201-70073-5

    Google Scholar 

  3. Stroustrup, B.: Programming – Principles and Practice Using C++. Addison-Wesley (December 2008) ISBN 978-0321543721

    Google Scholar 

  4. Stroustrup, B.: The C++11 FAQ, http://www.research.att.com/~bs/C++11FAQ.html

  5. Stroustrup, B.: Abstraction and the C++ Machine Model. In: Wu, Z., Chen, C., Guo, M., Bu, J. (eds.) ICESS 2004. LNCS, vol. 3605, pp. 1–13. Springer, Heidelberg (2005)

    CrossRef  Google Scholar 

  6. Stroustrup, B.: The Design and Evolution of C++. Addison Wesley (March 1994) ISBN 0-201-54330-3

    Google Scholar 

  7. Ramananandro, T., Dos Reis, G., Leroy, X.: A Mechanized Semantics for C++ Object Construction and Destruction with Applications to Resource Management. In: POPL 2012, Philadelphia (Pennsylvania), USA (January 2012)

    Google Scholar 

  8. Dos Reis, G., Stroustrup, B.: General Constant Expressions for System Programming Languages. In: The 25th ACM Symposium On Applied Computing, SAC 2010 (March 2010)

    Google Scholar 

  9. Stroustrup, B.: Software Development for Infrastructure. IEEE Computer (January 2012)

    Google Scholar 

  10. Barron, D.W., et al.: The main features of CPL. The Computer Journal 6(2), 134 (1963)

    MATH  Google Scholar 

  11. Velthuizen, T.L.: C++ Templates are Turing Complete. University of Indiana Technical Report (2003)

    Google Scholar 

  12. Veldhuizen, T.: Using C++ template metaprograms. C++ Report 7(4) (May 1995)

    Google Scholar 

  13. Gregor, D., Jarvi, J., Siek, J., Stroustrup, B., Dos Reis, G., Lumsdaine, A.: Concepts: Linguistic Support for Generic Programming in C++. In: OOPSLA 2006 (October 2006)

    Google Scholar 

  14. Dos Reis, G., Stroustrup, B.: Specifying C++ Concepts. In: POPL 2006 (January 2006)

    Google Scholar 

  15. Sutton, A., Stroustrup, B.: Design of Concept Libraries for C++. In: Proc. International Conference on Software Language Engineering, SLE 2011 (July 2011)

    Google Scholar 

  16. Stepanov, A., McJones, P.: Elements of Programming. Addison-Wesley Professional, June 19 (2009) ISBN-13: 978-0321635372

    Google Scholar 

  17. Stroustrup, B., Sutton, A. (eds.): A Concept Design for the STL. WG21 Technical Report N3351=12-0041 (January 2012)

    Google Scholar 

  18. Williams, A.: C++ Concurrency in Action – Practical Multithreading. Manning Publications (2012) ISBN: 1933988770

    Google Scholar 

  19. Dos Reis, G., Stroustrup, B.: A formalism for C++. N1885 (October 2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Texas A&M University, USA

    Bjarne Stroustrup

Authors
  1. Bjarne Stroustrup
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Editors and Affiliations

  1. Technische Universität München, Boltzmannstrasse 3, 85748, Garching, Germany

    Helmut Seidl

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Stroustrup, B. (2012). Foundations of C++. In: Seidl, H. (eds) Programming Languages and Systems. ESOP 2012. Lecture Notes in Computer Science, vol 7211. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28869-2_1

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-642-28869-2_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28868-5

  • Online ISBN: 978-3-642-28869-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Search

Navigation

  • Find a journal
  • Publish with us

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature