mirror of
https://github.com/kvazar-network/kevacoin.git
synced 2025-01-24 22:04:30 +00:00
Merge #11112: [developer-notes] By default, declare single-argument constructors "explicit"
f1708ef89 Add recommendation: By default, declare single-argument constructors `explicit` (practicalswift) Pull request description: This is a follow-up to the now merged #10969. Add recommendation: > By default, declare single-argument constructors `explicit`. > > - *Rationale*: This is a precaution to avoid unintended conversions that might arise when single-argument constructors are used as implicit conversion functions. > Tree-SHA512: 1ceb1008a7863ebd0f09ba9c06b4e28b3b03265d7381f9d0c8bd4be1663d5d0392de0ecd811027aa27c0d962723674b245b3c165a437942a776f3525db39d36b
This commit is contained in:
commit
3f726c99f8
@ -332,6 +332,12 @@ C++ data structures
|
|||||||
- *Rationale*: Ensure determinism by avoiding accidental use of uninitialized
|
- *Rationale*: Ensure determinism by avoiding accidental use of uninitialized
|
||||||
values. Also, static analyzers balk about this.
|
values. Also, static analyzers balk about this.
|
||||||
|
|
||||||
|
- By default, declare single-argument constructors `explicit`.
|
||||||
|
|
||||||
|
- *Rationale*: This is a precaution to avoid unintended conversions that might
|
||||||
|
arise when single-argument constructors are used as implicit conversion
|
||||||
|
functions.
|
||||||
|
|
||||||
- Use explicitly signed or unsigned `char`s, or even better `uint8_t` and
|
- Use explicitly signed or unsigned `char`s, or even better `uint8_t` and
|
||||||
`int8_t`. Do not use bare `char` unless it is to pass to a third-party API.
|
`int8_t`. Do not use bare `char` unless it is to pass to a third-party API.
|
||||||
This type can be signed or unsigned depending on the architecture, which can
|
This type can be signed or unsigned depending on the architecture, which can
|
||||||
|
@ -15,7 +15,7 @@ class CAddrManTest : public CAddrMan
|
|||||||
uint64_t state;
|
uint64_t state;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CAddrManTest(bool makeDeterministic = true)
|
explicit CAddrManTest(bool makeDeterministic = true)
|
||||||
{
|
{
|
||||||
state = 1;
|
state = 1;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user