News for hackers. Stuff that matters.
Re:An Idiot's Guide to C++ Templates - Part 1 by btilly on Tuesday April 23, 2013 @04:22PM (#5597720)
I accept that a price has to be paid for performance.

However I believe that a substantial amount of verbosity could be removed without impacting said performance. In fact C++11 removes some with type deduction.

I also get tired of typing some_big_type foo = some_big_type(); - is there a way to say, "I want this thing, and I want it to get the obvious default initialization?" Because what I type now is straight from the redundant department of redundancy department. (Yes, a typedef can make that shorter. You still write the idea twice.)

Re:An Idiot's Guide to C++ Templates - Part 1 by mpyne on Tuesday April 23, 2013 @09:50PM (#5599185)
Try auto foo = some_big_type();

If you're not talking about initialization, but instead talking about construction, just do some_big_type foo; (no parens needed).

Re:An Idiot's Guide to C++ Templates - Part 1 by btilly on Thursday April 25, 2013 @12:00AM (#5605638)
If you're not talking about initialization...

I thought I was very clear when I said: "I want this thing, and I want it to get the obvious default initialization?"

I often wound up typing something like this:

std::vector< my_big_type > list_foo = std::vector< my_big_type >();

It seemed useless the first time, and just got sillier as time went on.

Re:An Idiot's Guide to C++ Templates - Part 1 by X-Istence on Wednesday April 24, 2013 @03:29AM (#5600301)
some_big_type foo;

Now foo has been created.

Want to pass parameters to its constructor:

some_big_type foo(parameters, go, here);

foo has been initialised.

Need a pointer?

auto *foo = new some_big_type foo(parameters, go, here);