Недавно я обнаружил, что в C ++ мы можем инициализировать целое число или, если уж на то пошло, другой примитивный тип данных в C ++, используя разные способы. 1004 *
Тот, который я недавно узнал, сделан как:
int i(50); //initialised to 50
char c('a'); //initalised to 'a'
Поэкспериментировав еще, я обнаружил, что то же самое можно сделать в и еще одним способом в C ++ ! следующим образом:
int i{50}; //initialised to 50 just as before
char c{'a'}; //initalised to 'a'...same again
Они также применимы ко всем другим примитивным типам данных в C ++. Теперь я не могу не задаться вопросом, отличаются ли выше разные типы инициализации данных каким-либо возможным образом?
- Один эффективнее другого? Есть ли какие-либо преимущества от использования одного над другим?
- Есть ли какой-либо сценарий, в котором один предпочтительнее другого?
- Если нет, то почему предусмотрены все эти различные виды инициализации? Если да, то можете ли вы дать какой-нибудь сценарий, в котором у каждого есть свое место использования?