Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Jutar
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 49
1

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

19.03.2013, 20:04. Просмотров 1483. Ответов 19
Метки нет (Все метки)

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

При вынесении определения всегда ли нужно указывать функцию как inline явно?
Бьярни пишет class char_stack { int size; char* top; char* s; ...

Enum и типы данных. Как задать тип значений явно, и какой тип будет при переполнении?
Пытаюсь сделать функцию с передачей нескольких параметров,используя битовые...

Восьмибитный тип переменной (что за тип, но не BYTE и не CHAR?
Вроде давно занимаюсь программированием на С++, но встала проблема... Есть...

Почему в scanf нужно указывать именно адреса переменных?
Почему в функции scanf нужно указывать именно адреса переменных? Почему не...

Требуется ли при удалении объекта посредством delete указывать тип объекта?
например, есть указателиvoid *p1; void *p2; есть VCL-объект TButton, есть...

19
updaite
14 / 14 / 8
Регистрация: 14.01.2013
Сообщений: 534
Записей в блоге: 2
Завершенные тесты: 5
19.03.2013, 20:05 2
Для экономии памяти и быстроты выполнения программы.
1
Jutar
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 49
19.03.2013, 20:10  [ТС] 3
И все? Ни к чему плохому "авто" тип привести не может?
0
updaite
14 / 14 / 8
Регистрация: 14.01.2013
Сообщений: 534
Записей в блоге: 2
Завершенные тесты: 5
19.03.2013, 20:12 4
Нет. С++ Гибкий язык.
0
Kuzia domovenok
2356 / 2090 / 494
Регистрация: 25.03.2012
Сообщений: 7,484
Записей в блоге: 1
19.03.2013, 20:13 5
а как компилятору узнать сколько выделять памяти под каждую переменную?
Как вообще без этого программировать?
0
pEntity
76 / 94 / 23
Регистрация: 12.12.2012
Сообщений: 1,133
19.03.2013, 20:15 6
Еще например: int быстрей чем unsigned char,unsigned char просто экономит память,но важней скорость.
0
Croessmah
++Ͻ
14630 / 8379 / 1582
Регистрация: 27.09.2012
Сообщений: 20,583
Записей в блоге: 2
Завершенные тесты: 1
19.03.2013, 20:15 7
Цитата Сообщение от Jutar Посмотреть сообщение
"нововведение" в С++
нововведение - это скорее не указывать тип.

Не по теме:

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

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

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

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

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

P.S. спасибо за совет, почитаю
0
Kastaneda
Jesus loves me
Эксперт С++
4940 / 3017 / 346
Регистрация: 12.12.2009
Сообщений: 7,612
Записей в блоге: 2
Завершенные тесты: 1
19.03.2013, 21:26 17
Цитата Сообщение от pEntity Посмотреть сообщение
Еще например: int быстрей чем unsigned char,unsigned char просто экономит память,но важней скорость.
Ого, а можно по-подробней?

По сабжу http://ru.wikipedia.org/wiki/Динамическая_типизация
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.03.2013, 21:40 18
Цитата Сообщение от Kastaneda Посмотреть сообщение
Ого, а можно по-подробней?
Выравнивание же :)
0
Kastaneda
Jesus loves me
Эксперт С++
4940 / 3017 / 346
Регистрация: 12.12.2009
Сообщений: 7,612
Записей в блоге: 2
Завершенные тесты: 1
19.03.2013, 21:53 19
Цитата Сообщение от diagon Посмотреть сообщение
Выравнивание же
а если переменная лежит в регистре? А если char тоже выровнен? А если int не выровнен?
0
pEntity
76 / 94 / 23
Регистрация: 12.12.2012
Сообщений: 1,133
20.03.2013, 02:48 20
Цитата Сообщение от Kastaneda Посмотреть сообщение
Ого, а можно по-подробней?
В книге прочитал основ С++,не помню только в какой.
0
20.03.2013, 02:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2013, 02:48

Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить?
Вот еще один вопрос зачем биты нужны это меньше байтов но int 32 бита но я не...

Зачем функции дают тип возврата - имя класса?
Думаю вы по названию не поняли, так вот. Допустим я объявил класс Car. Читаю...

Зачем нужен тип private, если есть protected?
зачем нужен тип private если есть protected??? одного не достаточно? ведь...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru