diff options
author | practicalswift <practicalswift@users.noreply.github.com> | 2018-04-05 23:03:26 +0200 |
---|---|---|
committer | practicalswift <practicalswift@users.noreply.github.com> | 2018-04-05 23:25:07 +0200 |
commit | b119e7873304eb2f0bee3dd9e2f22c5c9001d899 (patch) | |
tree | ec7389f7475517afe964688054a50a8c4bf8ecdd /doc | |
parent | 5f0c6a7b0e47e03f848dc992d37fe209dd9c6975 (diff) |
docs: Fix conflicting statements about initialization in developer notes
Diffstat (limited to 'doc')
-rw-r--r-- | doc/developer-notes.md | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/doc/developer-notes.md b/doc/developer-notes.md index b00cceb987..c9fe3a7ab4 100644 --- a/doc/developer-notes.md +++ b/doc/developer-notes.md @@ -450,12 +450,21 @@ C++ data structures - Vector bounds checking is only enabled in debug mode. Do not rely on it -- Make sure that constructors initialize all fields. If this is skipped for a - good reason (i.e., optimization on the critical path), add an explicit - comment about this +- Initialize all non-static class members where they are defined. + If this is skipped for a good reason (i.e., optimization on the critical + path), add an explicit comment about this - *Rationale*: Ensure determinism by avoiding accidental use of uninitialized values. Also, static analyzers balk about this. + Initializing the members in the declaration makes it easy to + spot uninitialized ones. + +```cpp +class A +{ + uint32_t m_count{0}; +} +``` - By default, declare single-argument constructors `explicit`. @@ -474,18 +483,6 @@ C++ data structures - *Rationale*: Easier to understand what is happening, thus easier to spot mistakes, even for those that are not language lawyers -- Initialize all non-static class members where they are defined - - - *Rationale*: Initializing the members in the declaration makes it easy to spot uninitialized ones, - and avoids accidentally reading uninitialized memory - -```cpp -class A -{ - uint32_t m_count{0}; -} -``` - Strings and formatting ------------------------ |