The current guidance on SF.12 can be over-applied and devolves into "always use <>" because all compilers support adding include directories to the <> search. In this case, even the current directory may be added and so it is always possible to use <> for every header. Applying the guidance then devolves into an undesirable state where <> is always used and include"" is never used.
Instead, the proposed guidance leverages and encourages the distinction between <> and "" to create an easy-to-understand rule that the original guidance hints at and that most developers already follow and understand: "" is for local headers and <> is for library and external headers.
* Actually detect negative sizes by following ES.106
And don't use senseless one letter names
* fix grammar
Co-Authored-By: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Co-authored-by: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
* add SF.12
* add incscope to isocpp.dic to get the CI build to pass
* expand INCLUDES, update dictionary for the ci build to pass
* pr feedback
* in the same directory
* update based on feedback
* 3rd try
* PR feedback
* update lable
* Update CppCoreGuidelines.md
* Update CppCoreGuidelines.md
Changed the two anchors back (anchors need to stay stable and don't
display visibly anyway)
Switched "non-public" back to hyphernated (to use hyphenation
consistently)
* Casting away const isn't undefined behavior, but modifying a constant is
You can cast away `const` as much as you like, as long as you never write to variable.
* rewording for clarification
Major changes in R1:
- Added SharedOwner concept.
- Added “Diagnostic sensitivity options” section to define a way to
start with zero-false-positive warnings and increasingly opt into
additional diagnostics.
- Changed function annotation syntax to contract-like pre(cond) and
post(cond) syntax, and added that they are implicitly inherited by
virtual overrides.
- Renamed static to global to reduce confusion with the keyword.
- Refined default lifetimes semantics of Pointer-to-Pointer parameters.
When a reference in the Bibliography is available online, it would seem to be nice to have a link. In this example, the original article was published in C/C++ User's Journal, with the content later ported to the DDJ web site. The DDJ site is no longer reliable, but a good copy exists in archive.org, and I've linked to it here.