From 54f57d8d1b8f3a368361dad67cd5d92be0ddbde2 Mon Sep 17 00:00:00 2001 From: Bjarne Stroustrup Date: Mon, 17 Apr 2017 21:01:51 -0400 Subject: [PATCH] more language feature xrefs These xrefs are menat part as teasers to get language-feature obsessed programmers to look at the guidelines and partly to cover topics that appears in several places. They are not meant to be complete --- CppCoreGuidelines.md | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index 848da72..cef3e32 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -103,7 +103,12 @@ You can sample rules for a specific language feature: [when needed?](#Rc-dtor) -- [may not fail](#Rc-dtor-fail) * exception: -[???](#S-errors) +[errors](#S-errors) -- +[`throw`](Re-throw) -- +[for errors only](#Re-errors) -- +[`noexcept`](#Re-noexcept) -- +[mimize `try`](#Re-catch) -- +[what if no exceptions?](#Re-no-throw-codes) * `for`: [range-for and for](#Res-for-range) -- [for and while](#Res-for-while) -- @@ -111,10 +116,25 @@ You can sample rules for a specific language feature: [empty body](#Res-empty) -- [loop variable](#Res-loop-counter) -- [loop variable type ???](#Res-???) +* function: +[naming](#Rf-package) -- +[single operation](#Rf-logical) -- +[may not throw](#Rf-noexcept) -- +[arguments](#Rf-smart) -- +[argument passing](#Rf-conventional) -- +[multiple return values](#Rf-out-multi) +[pointers](#Rf-return-ptr) -- +[lambdas](#Rf-capture-vs-overload) * `inline`: -[???](#S-class) +[small functions](#Rf-inline) -- +[in headers](Rs-inline) * initialization: -[???](#S-???) +[always](#Res-always) -- +[prefer `{}`](#Res-list) -- +[lambdas](#Res-lambda-init) -- +[in-class initializers](#Rc-in-class-initializer) -- +[class members](#Rc-initialize) -- +[factory functions](#Rc-factory) * lambda expression: [???](#SS-lambdas) * operator: