Форум программистов, компьютерный форум CyberForum.ru

Зачем нужно явно указывать тип переменной? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Jutar
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 49
19.03.2013, 20:04     Зачем нужно явно указывать тип переменной? #1
Всем привет!
Объясните зачем нужно явно указывать тип переменной?
Например в С++ это обязательно, а php нет. Просто говорят что не указывать тип явно приводит к не лучшему исходу. Почему? И важно ли это "нововведение" в С++ (и подобных языках) про явное указание (в бейсике не нужно )?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 20:04     Зачем нужно явно указывать тип переменной?
Посмотрите здесь:

[C++]enum и типы данных.Как задать тип значений явно,и какой тип будет при переполнении? C++
C++ зачем нужен тип private если есть protected??? одного не достаточно? ведь свойства те же
Восьмибитный тип переменной (что за тип, но не BYTE и не CHAR? C++
C++ Требуется ли при удалении объекта посредством delete указывать тип объекта?
C++ Зачем функции дают тип возврата - имя класса?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
updaite
14 / 14 / 2
Регистрация: 14.01.2013
Сообщений: 384
Записей в блоге: 2
19.03.2013, 20:05     Зачем нужно явно указывать тип переменной? #2
Для экономии памяти и быстроты выполнения программы.
Jutar
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 49
19.03.2013, 20:10  [ТС]     Зачем нужно явно указывать тип переменной? #3
И все? Ни к чему плохому "авто" тип привести не может?
updaite
14 / 14 / 2
Регистрация: 14.01.2013
Сообщений: 384
Записей в блоге: 2
19.03.2013, 20:12     Зачем нужно явно указывать тип переменной? #4
Нет. С++ Гибкий язык.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
19.03.2013, 20:13     Зачем нужно явно указывать тип переменной? #5
а как компилятору узнать сколько выделять памяти под каждую переменную?
Как вообще без этого программировать?
pEntity
10 / 5 / 1
Регистрация: 12.12.2012
Сообщений: 371
19.03.2013, 20:15     Зачем нужно явно указывать тип переменной? #6
Еще например: int быстрей чем unsigned char,unsigned char просто экономит память,но важней скорость.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,920
Записей в блоге: 2
Завершенные тесты: 1
19.03.2013, 20:15     Зачем нужно явно указывать тип переменной? #7
Цитата Сообщение от Jutar Посмотреть сообщение
"нововведение" в С++
нововведение - это скорее не указывать тип.

Не по теме:

Цитата Сообщение от Jutar Посмотреть сообщение
Например в С++ это обязательно, а php нет.
пых вообще из веба, нашли с чем сравнить...

Jutar
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 49
19.03.2013, 20:16  [ТС]     Зачем нужно явно указывать тип переменной? #8
Причем здесь это? Я понимаю прекрасно что "авто" тип это по сути тип который определяется другой программой, например библиотекой. Цель данной темы было узнать что будет если не указывать тип переменной в скриптовых языках и т.д!
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,920
Записей в блоге: 2
Завершенные тесты: 1
19.03.2013, 20:16     Зачем нужно явно указывать тип переменной? #9
Цитата Сообщение от Jutar Посмотреть сообщение
про явное указание (в бейсике не нужно)
Поэтому и жрет он как богатырь
Jutar
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 49
19.03.2013, 20:17  [ТС]     Зачем нужно явно указывать тип переменной? #10
Цитата Сообщение от Croessmah Посмотреть сообщение
нововведение - это скорее не указывать тип.
Я про бейсик
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,920
Записей в блоге: 2
Завершенные тесты: 1
19.03.2013, 20:18     Зачем нужно явно указывать тип переменной? #11
Цитата Сообщение от Jutar Посмотреть сообщение
узнать что будет если не указывать тип переменной в скриптовых языках и т.д!
Скорее всего просто выделится количество памяти, достаточное для любого типа.

Добавлено через 46 секунд
Цитата Сообщение от Jutar Посмотреть сообщение
Я про бейсик
Вот если на Basic'e не указывать тип, то переменная имеет тип Variant(в VB6 это 16 байт вроде)
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.03.2013, 20:21     Зачем нужно явно указывать тип переменной? #12
Я вообще не понимаю, как можно читать динамические языки. Собственно, вопрос - что именно вам не нравится?
Много букаф? Так давно auto изобрели.
updaite
14 / 14 / 2
Регистрация: 14.01.2013
Сообщений: 384
Записей в блоге: 2
19.03.2013, 20:22     Зачем нужно явно указывать тип переменной? #13
Всё элементарно ватсон.
P.S В php есть типы, вот вам будет штрафное задание.
Изучить типы данных.
Подсказка.
пример
int - 4 байта.
В uinx int - 8 байт.
Действуйте)
Jutar
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 49
19.03.2013, 20:24  [ТС]     Зачем нужно явно указывать тип переменной? #14
Цитата Сообщение от updaite Посмотреть сообщение
Всё элементарно ватсон.
P.S В php есть типы)
Я знаю, и что?
Я узнал что хотел: явное указание для ускорения программы и экономии памяти, или одно из этого.

P.S. я программист игр, и сейчас моделирую игровую систему и проектирую ИИ, а такого простого оказывается не знаю!
P.P.S. я начинающий программист и на данном этапе "развития" всего лишь экспериментирую...
updaite
14 / 14 / 2
Регистрация: 14.01.2013
Сообщений: 384
Записей в блоге: 2
19.03.2013, 20:36     Зачем нужно явно указывать тип переменной? #15
Знающий человек, не задавал бы такие вопросы.
Это гласит о том, что вы не знаете, как устроен компьютер, и не понимаете как представляется переменная в памяти. А это большой минус.

Добавлено через 8 минут
Цитата Сообщение от Jutar Посмотреть сообщение
P.P.S. я начинающий программист и на данном этапе "развития" всего лишь экспериментирую...
Изучайте информатику) Представления чисел в ячейки памяти, Машину Тьюринга, коды Фано и т.д.
Хуже вам не будит, вопросов меньше будет, да и самому интересно будет.
Jutar
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 49
19.03.2013, 20:37  [ТС]     Зачем нужно явно указывать тип переменной? #16
С одной стороны да, с другой нет. Я знаю как устроен компьютер и хранение в памяти тоже знаю, я лишь зациклился на том, что понял пост одного человека на форуме не верно, подумав, что он хотел сказать что это плохо сказывается на программе. Я понял это в смысле логической ошибки, которая может произойти если явно не указать тип (не в смысле всегда, обязательно, а при определенных обстоятельствах), а то что это просто влияет на память и скорость я не подумал...

P.S. спасибо за совет, почитаю
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
19.03.2013, 21:26     Зачем нужно явно указывать тип переменной? #17
Цитата Сообщение от pEntity Посмотреть сообщение
Еще например: int быстрей чем unsigned char,unsigned char просто экономит память,но важней скорость.
Ого, а можно по-подробней?

По сабжу http://ru.wikipedia.org/wiki/Динамическая_типизация
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.03.2013, 21:40     Зачем нужно явно указывать тип переменной? #18
Цитата Сообщение от Kastaneda Посмотреть сообщение
Ого, а можно по-подробней?
Выравнивание же :)
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
19.03.2013, 21:53     Зачем нужно явно указывать тип переменной? #19
Цитата Сообщение от diagon Посмотреть сообщение
Выравнивание же
а если переменная лежит в регистре? А если char тоже выровнен? А если int не выровнен?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2013, 02:48     Зачем нужно явно указывать тип переменной?
Еще ссылки по теме:

C++ Почему в scanf нужно указывать именно адреса переменных?
C++ Зачем присваивать переменной disc ноль? Объясните пожалуйста
При вынесении определения всегда ли нужно указывать функцию как inline явно? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
pEntity
10 / 5 / 1
Регистрация: 12.12.2012
Сообщений: 371
20.03.2013, 02:48     Зачем нужно явно указывать тип переменной? #20
Цитата Сообщение от Kastaneda Посмотреть сообщение
Ого, а можно по-подробней?
В книге прочитал основ С++,не помню только в какой.
Yandex
Объявления
20.03.2013, 02:48     Зачем нужно явно указывать тип переменной?
Ответ Создать тему
Опции темы

Текущее время: 11:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru