Discover exotic and often tricky facets of undefined behavior in C++ pointers and multithreading. Learn about pointer provenance, placement new, and the complexities of synchronization and condition variables in multithreaded applications. Avoid pitfalls like data races and deadlocks to ensure robust and error-free code.

22m read timeFrom pvs-studio.com
Post cover image
Table of contents
Pointer provenance: invalid pointersPointer provenance: placement new for arraysParallelism: multithreading and data raceParallelism: is std::shared_ptr thread-safe?Parallelism: threads joiningParallelism: mutex deadlockParallelism: signal (un)safety

Sort: