Scott Meyer’s book, “Effective Modern C++”, has a nice section talking about uniform initialization, specifically, how to “distinguish between () and {} when creating objects”. This blog post summarizes some important tips that the author pointed out, along with some advice according to my experience and preferences.