What's the difference between `Object obj(args…)` and `Object obj{args…}`?
问题 The draft book Effective C++11 by Scott Meyers states: Distinguish () and {} when creating objects What's the difference between Object obj(args...) and Object obj{args...} ? and why Scott says so. Update: The question How to use C++11 uniform initialization syntax? asks for HOW, and this question asks for WHY. Update2: I find the following link is helpful and completely answers this question: https://softwareengineering.stackexchange.com/questions/133688/is-c11-uniform-initialization-a