2017-02-14 24 views
-3

У меня возникли проблемы с пониманием этого утверждения. Я не знаю, почему это не так, как другие.Почему const char INITIAL = 'G' не является присваиванием?

+0

related/dupe: http://stackoverflow.com/questions/4470553/initialization-parenthesis-vs-equals-sign – NathanOliver

+2

С редактированием вопрос больше не имеет смысла. «понимая это утверждение». Какое заявление? Вы не включили его. – Borgleader

+0

http://en.cppreference.com/w/cpp/language/copy_initialization – 0x5453

ответ

5

Назначение означает предоставление нового значения уже существующему объекту. Несмотря на то, что const char INITIAL='G'; имеет знак =, это не присвоение, потому что это , создавая новый объект, не изменяя существующий. char INITIAL; INITIAL='G'; будет назначением, потому что INITIAL уже существует, когда новое значение, ну, назначено.

+0

спасибо за это :) –

+0

const char INITIAL = 'G' Здесь это утверждение фактически создает INITIAL переменную, а затем помещает G в нее. Таким образом, эта переменная уже существует. Просто мысль. –

-1

В чем заключается моя концепция, когда есть знак = = его назначение.

Ваша концепция не правильная. Это инструкция инициализации. Это то же самое, что и слова:

const char INITIAL('G'); 
+0

Я имел в виду назначение не для инициализации. –

+0

Как я уже сказал, это не задание. –

+0

lol u mean const char INITIAL = 'G'; является оператором инициализации и не присваиванием. И вы думаете, что его попросили с этой целью? –

 Смежные вопросы

  • Нет связанных вопросов^_^