It is more efficient to do
```
   delete p4Polar_.exchange(nullptr, std::memory_order_acq_rel);
   delete p4Cartesian_.exchange(nullptr, std::memory_order_acq_rel);
```
If you don't specify the memory order it will force the CPUs to synchronize over all memory locations.