Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added statement about POS and WIN from C standard

According to the The C++ Standard, [intro.scope], paragraph 2 [ISO/IEC 14882-2014] states the following:

C++ is a general purpose programming language based on the C programming language as described in ISO/IEC 9899:1999 Programming languages — C languages—C (hereinafter referred to as the C standard). In addition to the facilities provided by C, C++ provides additional data types, classes, templates, exceptions, namespaces, operator overloading, function name overloading, references, free store management operators, and additional library facilities.

Because C++ is based on the C programming language, there is considerable overlap between the guidelines specified by the SEI CERT C Coding Standard and those specified by this coding standard. To reduce the amount of duplicated information, this coding standard focuses on the parts of the C++ programming language that are not wholly covered by the CERT C Coding Standard. Because of C++'s the increased focus on types in C++, some rules in C are extended by the CERT C++ Secure Coding Standard. Except where noted, the contents of  

Rules from the CERT C Coding Standard that apply to the CERT C++ Coding Standard are described in each related chapter of the C++ standard. The POSIX (POS) and Microsoft Windows (WIN) rules from the CERT C Coding Standard have not been reviewed for applicability to code written in C++ for those platforms.

Recommendations from the CERT C Coding Standard have not been reviewed for applicability apply equally to code written in C++.

The following guidelines following rules from the CERT C Coding Standard Standard have been reviewed and do not apply to the CERT C++ Secure Coding Standard:

Content by Label
showSpace
showLabelsfalse
max100
showSpacefalse
sorttitle
falseoperatorAND
labelscqllabel = "not-for-cpp,-void" AND label not in ("void","recommendation")
labelsnot-for-cpp,-void

 

 (Note, this list is woefully incomplete and serves only as a starting point. This table should be replaced by a macro which uses the "not-for-cpp" label to gather content from the CERT C Coding Standard automatically.)