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);
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.)