The C++ rules and recommendations in this wiki are a work in progress and reflect the current thinking of the secure coding community. Because this is a development website, many pages are incomplete or contain errors. As rules and recommendations mature, they are published in report or book form as official releases. These releases are issued as dictated by the needs and interests of the secure software development community.

The CERT C++ Coding Standard does not currently expose any recommendations; all C++ recommendations have been removed (moved to The Void section) due to quality concerns pending further review and development.

Create a sign-in account if you want to comment on existing content. If you wish to be more involved and directly edit content on the site, you still need an account, but you'll also need to request edit privileges

Front Matter  




Back Matter


The CERT C++ Coding Standard, 2016 Edition provides rules to help programmers ensure that their C++ code reduces security flaws by following secure coding best practices.  It is downloadable as a PDF.  (errata)

The CERT C++ Coding Standard references and relies on the CERT C Coding Standard. The CERT C Coding Standard, 2016 Edition provides rules to help programmers ensure that their code complies with the new C11 standard and earlier standards, including C99.  It is downloadable as a PDF.  (errata)

Secure Coding in C and C++ identifies the root causes of today's most widespread software vulnerabilities, shows how they can be exploited, reviews the potential consequences, and presents secure alternatives.

Contact us if you

  • have questions about this wiki
  • have recommendations for standards in development
  • want to request privileges to participate in standards development

We acknowledge the contributions of the following folks, and we look forward to seeing your name here as well.  

Link to guidelines using the Tiny Link under Tools→Link to this Page... (This URL will not change if the name of the guideline changes.)   

  • To eliminate a section from the lists above, label it section and void.
  • To have a section listed as a recommendation, label it section and recommendation.
  • To have a section listed as a rule, label it section and rule.