
On Fri, Nov 4, 2011 at 6:02 PM, Rhys Ulerich <rhys.ulerich@gmail.com> wrote:
Great. Does anyone else have comments / concerns about a (size_t) constructor?
I still don't like the idea. If you really want to add this feature, please
Why not?
I'll chime in. None of boost::{shared,scoped}_{ptr,array}<T> allocate T instances within their constructors. That's (part of) what make_shared is intended to do.
Why was it done that way (for shared_ptr) and does that rationale also apply to scoped/shared_array?
Avoiding redundant type specifications is auto/BOOST_AUTO's job. Rather than adding potentially ambiguous constructor overloads to well-defined, heavily-used classes, spend the
Do you mean the () vs (0) issue? Why's that such a big problem?
time implementing boost::make_{shared,scoped}_array instead. auto + make_{shared,scoped}_array will accomplish what you want (avoiding specifying the type twice) and the functionality will benefit a much broader audience.
I'm confused. Why would it benefit a broader audience? auto and move constructors aren't available in C++03 and auto doesn't work for member vars. -- Olaf