2014-10-01 2 views
0

Зачем нужно указывать тип данных переменной? Что делать, если моя программа требует от пользователя ввода данных, которые могут принадлежать любому из двух непересекающихся типов данных? Не следует указывать возможность объявления переменной без указания переменной для учета ситуации. Почему мы не можем позволить компьютеру решить тип данных на основе пользовательского ввода? Если у компилятора достаточно возможностей для идентификации ошибки типа, я уверен, что он может легко указать тип данных на основе ввода.Объявление переменной без указания ее типа данных в C++

+1

Вы спрашиваете фундаментальное определение строго типизированного языка. Знание типа каждой переменной и каждого выражения во время компиляции делает C и C++ строго типизированными языками. Без этого у вас будет слабо типизированный язык, такой как PERL, JavaScript, PHP. –

+0

Потому что это не так, как разработан C++. Он оставляет эту часть программы программисту, а не языку. Если вам нужен язык с более гибким набором данных, используйте динамический язык, например PHP или Lisp. – Barmar

+0

Я думал, что я просто добавлю, что я совершенно новый для программирования и C++. Этот вопрос возник при чтении главы по обработке данных и после того, как поиск в Интернете оказался бесполезным (большинство ответов было о C), я решил опубликовать этот вопрос. @RSahu Так вот что это такое! Это решает мой вопрос. Я думаю, что смогу полностью понять, почему C++ не предоставляет эту опцию, читая о строго типизированных и слабо типизированных языках. Благодаря! – Sachin

ответ

0

Составители не используют входные данные, так что это не вариант.

Там в boost::variant<T,U> который является типом может содержать либо T или U значения, но вы все равно должны указать компилятору все возможные варианты, и вы должны ясно дать понять, что вы положили в.

Пользовательский ввод всегда начинается как строка. Разборки превращаются в типы, но результат зависит от фактического разбора. Если вы обрабатываете значения с плавающей запятой, 0 - это отличное значение поплавка.

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