mirror of
https://github.com/isocpp/CppCoreGuidelines.git
synced 2024-03-22 13:30:58 +08:00
Applied suggestion in PR #343.
This commit is contained in:
parent
f013c1b22d
commit
47a1405707
|
@ -10271,15 +10271,25 @@ Immutable objects are easier to reason about, so make object non-`const` only wh
|
||||||
|
|
||||||
##### Reason
|
##### Reason
|
||||||
|
|
||||||
???
|
A member function should be marked `const` unless it changes the object's observable state.
|
||||||
|
|
||||||
##### Example
|
##### Example; bad
|
||||||
|
|
||||||
???
|
class Point {
|
||||||
|
int x, y;
|
||||||
|
public:
|
||||||
|
int getx() { return x; } // BAD, should be const as it doesn't modify the object's state
|
||||||
|
// ...
|
||||||
|
};
|
||||||
|
|
||||||
|
void f(const Point& pt) {
|
||||||
|
int x = pt.getx(); // ERROR, doesn't compile because getx was not marked const
|
||||||
|
}
|
||||||
|
|
||||||
##### Enforcement
|
##### Enforcement
|
||||||
|
|
||||||
???
|
* Flag a member function that is not marked `const`, but that could be `const` because its definition does not modify any member variable.
|
||||||
|
|
||||||
|
|
||||||
### <a name="Rconst-ref"></a> Con.3: By default, pass pointers and references to `const`s
|
### <a name="Rconst-ref"></a> Con.3: By default, pass pointers and references to `const`s
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user