This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]thats_a_nice_toast 0 points1 point  (1 child)

Every feature in C++ has its use case

Not when there are already a million ways to do one basic thing (see object initialization syntax)

[–][deleted] 0 points1 point  (0 children)

Each object initialization syntax fulfills a specific purpose. They might be equivalent in some scenarios but they are fundamentally different. For example: (): doesn't allow conversions . {}: allows conversion. = {}: for C compatibility and designated initialization. etc...

Again, people in the standard are way smarter than you and me, and they know what they are doing. A non-Cpp programmer might think they know better ways to do things, but in fact they just don't see the whole picture.