Commit Graph

2163 Commits

Author SHA1 Message Date
Herb Sutter
de1861cdbd Remove guidance against passing unique_ptr<T> by const&, closes #2240
Some checks are pending
build / build (push) Waiting to run
Deploy Jekyll with GitHub Pages dependencies preinstalled / build (push) Waiting to run
Deploy Jekyll with GitHub Pages dependencies preinstalled / deploy (push) Blocked by required conditions
2024-12-19 09:50:45 -10:00
Herb Sutter
e738bcc73c Remove "Capping" note, closes #2236 2024-12-19 09:49:16 -10:00
Herb Sutter
8557755adb Replace R.5 exception and examples with moving a BigObject to the heap to save stack
Some checks failed
build / build (push) Has been cancelled
Deploy Jekyll with GitHub Pages dependencies preinstalled / build (push) Has been cancelled
Deploy Jekyll with GitHub Pages dependencies preinstalled / deploy (push) Has been cancelled
Closes #2221
2024-10-24 11:51:04 -07:00
Herb Sutter
f3bc9dd1af Reword 3 occurrences of "special operations"
See #2224
2024-10-24 11:38:06 -07:00
Herb Sutter
5b98c70498 Fix R.21 warning to cover all Shared_pointer parameters
Closes #2226
2024-10-24 11:17:43 -07:00
arkadye
4e3a6f24bc Correct grammar for NR.2 (#2228) 2024-10-24 13:59:51 -04:00
Sergey Zubkov
48c3395fe1 C.20: another example touch-up to comply with C.46 2024-10-04 09:52:31 -04:00
Sergey Zubkov
417da7404d C.20: rephrase example, re #2212 2024-10-04 09:49:16 -04:00
Sergey Zubkov
0915e25942 update date 2024-10-03 16:40:01 -04:00
Sergey Zubkov
dd57964801 C.20: define a ctor to not imply we're forbidding all ctors
closes #2212
2024-10-03 16:36:32 -04:00
boyeong-jeon
50afe0234c E.16: Fix inconsistent description (#2209) 2024-07-02 09:19:37 -04:00
Sergey Zubkov
5ff92185f3 we should be able to publish the page from main branch 2024-05-11 22:29:27 -04:00
Sergey Zubkov
019ec5df95 update date 2024-05-11 22:09:50 -04:00
Sergey Zubkov
4d339c0b95 Create jekyll-gh-pages.yml 2024-05-11 22:06:29 -04:00
Herb Sutter
46c70fe2e5 Make exception safety new notes consistent, and mention that problem was fixed in C++17
Closes #2197
2024-05-09 12:44:11 -07:00
Herb Sutter
9656da8cb5 Add missing links
Closes #2196
2024-05-09 12:42:40 -07:00
Piotr Idzik
6435165ea0 Update link to MISRA C++ Guidelines (#2194)
* Update link to MISRA C++ 2008 Guidelines

* Link to MISRA C++ 2023 Guidelines
2024-05-09 10:03:56 -07:00
Herb Sutter
6c68bf8f34 Add note about pointerlike indirections, and remove incorrect destructor note
Closes #2183
Closes #2188
2024-04-14 14:34:20 -04:00
Herb Sutter
4f723b0fff Add "take a copy for immediate local use" case to F.16 (#2172)
Closes #2170
2024-04-11 10:24:34 -07:00
Paul Jansen
d76efeb645 Removed confusing comments (#2076) (#2179) 2024-04-11 10:14:02 -07:00
Jan Schultke
c91ea43aba Improve reasoning and examples for F.48 (#2100)
* fix incorrect reason for F.48

* distinguish rvo and nrvo

* the issue is about local, so limiting example to local

---------

Co-authored-by: Sergey Zubkov <cubbi@cubbi.com>
2024-04-11 12:59:42 -04:00
1024
2a2581cc95 R.3: Fill in placeholder link (#2173)
* fill in placeholder link

* fixed a typo
2024-04-04 13:07:33 -04:00
Herb Sutter
1b37b50162 Make suppress tag a string literal, closes #2042 2024-02-15 12:45:51 -10:00
Herb Sutter
13176c69de Revert adding short anchors, and keep fixes to avoid {{
`{{` interferes with rendering the page
2024-02-15 11:33:49 -10:00
Herb Sutter
acf08ddd46 Add #pNN anchors for P section 2024-02-15 09:54:18 -10:00
Jan Schultke
631eccd444 F.21 Don't return tuples (#2166)
* F.21 don't return tuples

* F.21 implement Herb's suggestions

* Mini-rebase for spell check fix

* elaborate on optional/expected

Co-authored-by: Jonathan Wakely <github@kayari.org>

* improve wording in one sentence

Co-authored-by: Jonathan Wakely <github@kayari.org>

* fix incorrect code transformation

Co-authored-by: Jonathan Wakely <github@kayari.org>

* fix missing word

---------

Co-authored-by: Herb Sutter <herb.sutter@gmail.com>
Co-authored-by: Jonathan Wakely <github@kayari.org>
2024-01-25 12:27:47 -08:00
Herb Sutter
e784212ef0 Fix spell check regression 2024-01-22 12:38:07 -08:00
Sergey Zubkov
fcda019d0b fix CI 2024-01-22 15:19:26 -05:00
Herb Sutter
e44d35b55c Fix F.27 example, closes #2171 2024-01-18 16:38:45 -05:00
Jan Schultke
41426a1a5f #1191 replace member variable with data member (#2087)
Co-authored-by: Herb Sutter <herb.sutter@gmail.com>
2024-01-18 13:20:40 -08:00
Jan Schultke
85e2fa321f fix missing forward for function object parameter (#2092) 2024-01-18 10:30:32 -08:00
1024
48d57dc6a2 added missing title to GSL.owner link (#2156) 2024-01-18 10:23:57 -08:00
Amir Livneh
0e5b13b543 Fix typos (#2158) 2024-01-18 10:21:43 -08:00
A. Jiang
0f1e36cf06 Use the term "default member initializer" (#2161)
without changing the anchor.
2024-01-18 10:20:49 -08:00
Niels Dekker
8789617b23 ES.87 (redundant == or !=) Fix dynamic_cast to Circle pointer (#2168)
The second ES.87 example seemed to mistakenly assume that `Circle` is pointer type, by the way it was using `dynamic_cast`. However, `Circle` is meant to be a class type instead. This fix is consistent with other examples, that also do `dynamic_cast<Circle*>`.
2024-01-08 23:51:31 -05:00
Sergey Zubkov
e49158aa7e update date 2023-10-12 17:04:18 -04:00
Sleep_AllDay
1bdb43e5c7 ES.30 fix example code (#2143)
* ES.30 fix example code 

The example should be passing in a constexpr and validating it at compile time like a macro, but instead passes a unknown value at compile time. Which may cause mislead and the code doesn't even work.

Ref: #2136

* Update CppCoreGuidelines.md

Used enums instead of raw numbers.
2023-10-12 17:02:51 -04:00
bgloyer
56e5b42eee Con.1 Issue #1905 Return local const (#2114)
* Con.1 const return

* minor
2023-10-12 13:02:28 -07:00
Jan Schultke
e694c3cd04 Modernize uses of POD types (#2120)
* modernize uses of POD types

* update isocpp.dic
2023-10-12 12:55:10 -07:00
Kimi MA
77680bff2b fix NL.9 ALL_CAPS does not apply to non-macro symbolic constants (#2130)
* fix NL.9 ALL_CAPS does not apply to non-macro symbolic constants

* Update CppCoreGuidelines.md

fix according to comment
2023-10-12 12:53:14 -07:00
Jan Schultke
9b9eeccf3a NL.8: elaborate on reserved identifiers (#2131)
* NL.8: elaborate on reserved identifiers

* Update CppCoreGuidelines.md

* Update CppCoreGuidelines.md

* Update CppCoreGuidelines.md

---------

Co-authored-by: Herb Sutter <herb.sutter@gmail.com>
2023-10-12 12:52:16 -07:00
Timm Knape
6d96d8e09d I.30: use const c-string to pass filename and input string in example (#2140)
to signal that they will not modified
2023-10-12 12:42:27 -07:00
Timm Knape
4ad63d7d34 F.21 add loop increment in bad example (#2141)
to mimic the previous examples and avoid an infinite loop.
2023-10-12 12:41:49 -07:00
Nicolas van Kempen
b6363bbf11 Fix DeprecationWarning for cgi package (#2148) 2023-10-12 12:33:10 -07:00
apenn-msft
2a3690d1e3 Use portable header identifiers (#2149)
* SF.13  Use portable header identifiers in `#include` statements

add a new rule governing how to compose portable header path identifiers such that they respect proper casing (<vector>, not <VECTOR>) and portable path separators ('/')

* anchor

* fix typos

* fix warnings

* nit

* nit

* nit

* normalize on 'util'

* clean up wording

* Update CppCoreGuidelines.md

---------

Co-authored-by: Herb Sutter <herb.sutter@gmail.com>
2023-10-12 12:32:05 -07:00
Werner Henze
2d87c45e4b ES.23: change example code to better match the rule (#2150)
The example suggests that `int z = gsl::narrow_cast<int>(7.9);;` is OK. The rule says "Use `=` only when you are sure that there can be no narrowing conversions.", which matches, but is also says "For built-in arithmetic types, use `=` only with `auto`.", and this is not respected here. So replace the one line with both possibilities suggested by the rule.

Co-authored-by: Werner Henze <w.henze@avm.de>
2023-10-12 12:25:52 -07:00
Werner Henze
a43285d95a Make example code adhere to C.65 (#2151)
C.65 requires move assignment to be safe for self-assignment. The given example is not safe for self-assignment as given right now. This commit fixes this.

Co-authored-by: Werner Henze <w.henze@avm.de>
2023-10-12 12:23:59 -07:00
Raymond Chen
27e662bebb ES.61 clarify wording (#2137)
The original text was "If the `new` and the `delete` are in the same scope, mistakes can be flagged." This has been [misinterpreted](https://stackoverflow.com/q/75905524) to mean "Any `new` and `delete` in the same scope is a mistake and should be flagged."

Reword the Enforcement clauses to follow the pattern established by the other Enforcement clauses: "Flag (bad thing)". Also, call the issue a "mismatch" rather than a "mistake", so that it is more clear that the underlying issue is the mismatch between scalar and array new/deletion.
2023-09-28 15:00:36 -07:00
Timm Knape
5eb1467d5e I.12: use a const string as mentioned in the text 2023-09-18 13:40:08 -04:00
antcolag
b43874936f ES.34: use the previously declared "const char * is" 2023-08-28 00:06:14 -04:00