Инициализация переменных-членов с помощью скобок или скобок - PullRequest
0 голосов
/ 29 января 2020

При инициализации переменных-членов в конструкторе вы можете сделать это двумя разными способами, используя фигурные скобки или скобки:

class some_class {

some_class(): foo{<value>}, bar(<value>) {}

T foo;
T bar;
};

Существует ли функциональная разница между этими двумя методами инициализации, и если да, то какие я должен использовать?

1 Ответ

4 голосов
/ 29 января 2020

Зависит от T. например, с [T = std::vector<int>],

foo{4, 5} - это контейнер с 2 элементами (4 и 5),

, тогда как foo(42, 0) - это контейнер с 42 элементами (со значением 0).

Вы можете прочитать initialization , который объясняет различные виды инициализации для более подробной информации ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...