mirror of
https://github.com/isocpp/CppCoreGuidelines.git
synced 2025-12-17 12:44:42 +03:00
F.53 add notes about capture of this and non-local pointers
closes #1816
This commit is contained in:
@@ -4081,6 +4081,12 @@ Pointers and references to locals shouldn't outlive their scope. Lambdas that ca
|
|||||||
// always be available for the call.
|
// always be available for the call.
|
||||||
thread_pool.queue_work([=] { process(local); });
|
thread_pool.queue_work([=] { process(local); });
|
||||||
|
|
||||||
|
##### Note
|
||||||
|
|
||||||
|
If a non-local pointer must be captured, consider using `unique_ptr`; this handles both lifetime and synchronization.
|
||||||
|
|
||||||
|
If the `this` pointer must be captured, consider using `[*this]` capture, which creates a copy of the entire object.
|
||||||
|
|
||||||
##### Enforcement
|
##### Enforcement
|
||||||
|
|
||||||
* (Simple) Warn when capture-list contains a reference to a locally declared variable
|
* (Simple) Warn when capture-list contains a reference to a locally declared variable
|
||||||
|
|||||||
Reference in New Issue
Block a user