C++ Misc Notes
How and When Special Class Functions are Invoked
I got a bit confused about passing objects as values vs. references to certain functions while I was developing some Vulkan application using the C++ VulkanHpp light-weight wrapper library (particularly its RAII components).
For objects owning resources (e.g., handles) it is crucial to understand in detail what C++ invokes when you pass objects around so that you do not end up duplicating and/or misusing resources.