C++ has evolved significantly over its 45+ year history. Contemporary C++ aims to address challenges in performance, type safety, and maintainability through key concepts like resource management, modularity, error-handling, and generic programming. By adopting modern techniques, developers can write more efficient, type-safe, and maintainable code. Guidelines and profiles have been developed to aid the transition to contemporary C++ and ensure code quality.

31m read timeFrom cacm.acm.org
Post cover image
Table of contents
1. Introduction2. C++ Ideals3. Resource Management3.1. Control of lifetime3.2. Eliminating redundant copies3.3. Resources and errors4. Modularity4.1. Header files4.2. Modules5. Generic Programming5.2. Compile-time evaluation6. Guidelines and enforcement6.1. Guidelines6.2. Example rule: Don’t subscript pointers6.3. Example rule: Don’t use an invalidated pointer6.4. Enforcement: Profiles7. The Future8. Summary9. References

Sort: