SUM UNION QUERY

Разница в том, что

explicit vector( const Allocator& alloc = Allocator() );

является explicit даже для случая, когда используется аргумент по умолчанию, тогда как

vector() : vector( Allocator() ) {}

- нет. (explicit в первом случае необходимо, чтобы Allocator s неявно конвертировался в vector.)

Это означает, что вы можете написать

std::vector f() { return {}; }

или

std::vector vec = {};

во втором случае, но не в первом.

См. LWG issue 2193 .

0
задан dbc 5 March 2019 в 01:03
поделиться