Well my thinking is more aimed at humans reading code than the compiler reading it. The function-style initialization looks like a class initialization, which makes CSAMPLE look heavier than it is. What I've been taught is that what's most important is the syntactic clues that a reader picks up at the call site, without needing to dive into a call hierarchy. A simple assignment of x = 0 is clearly low-weight. x(0) could be anything from low-weight to extremely heavy. If there is a low-weight way to write the assignment, that's preferred because it gives the reader a better sense of the true code complexity.
For classes, it's a little more up in the air: auto blah = MyClassType(0) isn't wonderful, because the auto is sort of a waste of breath. Just do MyClassType blah(0); auto is ok for new pointers like auto* blah = new MyType(0); because nothing is being repeated and it's super clear what type the auto has. It's all a matter of taste and I don't think it's necessary to enumerate every possible situation. owen On Sat, 2015-06-06 at 00:11 +0000, Gavin Swanson wrote: > are we in violent agreement then? Why not do the optimal thing in the > first place for consistency sake? Rather than rely on the compiler to > do it for you. Especially in a case like this where the optimization > is no more work nor is it less readable. > > > On Fri, Jun 5, 2015, 7:38 PM Owen Williams <owilli...@mixxx.org> > wrote: > That's what I said? > > "The compiler is free to elide (remove) the temporary+copying > whenever > it can, but copy constructor must still be accessible" > > > > On Fri, 2015-06-05 at 23:34 +0000, Gavin Swanson wrote: > > http://stackoverflow.com/a/4470763 > > > > > > On Fri, Jun 5, 2015, 7:21 PM Owen Williams > <owilli...@mixxx.org> > > wrote: > > Since CSAMPLE is a simple type, assignment is best > -- and when > > it works, > > assignment is the way to go (hurray for smart > compilers > > eliding copies). > > With the form sample(0.0), it gives the impression > that > > CSAMPLE is a > > complex type with a constructor. > > > > On Fri, 2015-06-05 at 22:16 +0000, Gavin Swanson > wrote: > > > CSAMPLE sample(0.0); > > > > > > > > > On Fri, Jun 5, 2015, 4:45 PM Owen Williams > > <owilli...@mixxx.org> > > > wrote: > > > On Fri, 2015-06-05 at 22:30 +0200, Daniel > Schürmann > > wrote: > > > > > > > CSAMPLE sample = 0.0; > > > > > > This one. auto should really only be used > when > > assigning from > > > a > > > function whose return value is obvious. > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > > > Get Mixxx, the #1 Free MP3 DJ Mixing > software Today > > > http://mixxx.org > > > > > > > > > Mixxx-devel mailing list > > > Mixxx-devel@lists.sourceforge.net > > > > > > https://lists.sourceforge.net/lists/listinfo/mixxx-devel > > > > > > ------------------------------------------------------------------------------ _______________________________________________ Get Mixxx, the #1 Free MP3 DJ Mixing software Today http://mixxx.org Mixxx-devel mailing list Mixxx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mixxx-devel