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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Jutar
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 49
#1

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

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

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

При вынесении определения всегда ли нужно указывать функцию как inline явно? - C++
Бьярни пишет class char_stack { int size; char* top; char* s; public: char_stack(int sz) { top=s=new char; } ...

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

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

Почему в scanf нужно указывать именно адреса переменных? - C++
Почему в функции scanf нужно указывать именно адреса переменных? Почему не работает, когда указываем переменную? Что хранит в себе...

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

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

19
updaite
14 / 14 / 2
Регистрация: 14.01.2013
Сообщений: 405
Записей в блоге: 2
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 / 2
Регистрация: 14.01.2013
Сообщений: 405
Записей в блоге: 2
19.03.2013, 20:12 #4
Нет. С++ Гибкий язык.
0
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1
19.03.2013, 20:13 #5
а как компилятору узнать сколько выделять памяти под каждую переменную?
Как вообще без этого программировать?
0
pEntity
12 / 7 / 1
Регистрация: 12.12.2012
Сообщений: 411
19.03.2013, 20:15 #6
Еще например: int быстрей чем unsigned char,unsigned char просто экономит память,но важней скорость.
0
Croessmah
Эксперт CЭксперт С++
13508 / 7666 / 866
Регистрация: 27.09.2012
Сообщений: 18,851
Записей в блоге: 3
Завершенные тесты: 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
Эксперт CЭксперт С++
13508 / 7666 / 866
Регистрация: 27.09.2012
Сообщений: 18,851
Записей в блоге: 3
Завершенные тесты: 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
Эксперт CЭксперт С++
13508 / 7666 / 866
Регистрация: 27.09.2012
Сообщений: 18,851
Записей в блоге: 3
Завершенные тесты: 1
19.03.2013, 20:18 #11
Цитата Сообщение от Jutar Посмотреть сообщение
узнать что будет если не указывать тип переменной в скриптовых языках и т.д!
Скорее всего просто выделится количество памяти, достаточное для любого типа.

Добавлено через 46 секунд
Цитата Сообщение от Jutar Посмотреть сообщение
Я про бейсик
Вот если на Basic'e не указывать тип, то переменная имеет тип Variant(в VB6 это 16 байт вроде)
1
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.03.2013, 20:21 #12
Я вообще не понимаю, как можно читать динамические языки. Собственно, вопрос - что именно вам не нравится?
Много букаф? Так давно auto изобрели.
0
updaite
14 / 14 / 2
Регистрация: 14.01.2013
Сообщений: 405
Записей в блоге: 2
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 / 2
Регистрация: 14.01.2013
Сообщений: 405
Записей в блоге: 2
19.03.2013, 20:36 #15
Знающий человек, не задавал бы такие вопросы.
Это гласит о том, что вы не знаете, как устроен компьютер, и не понимаете как представляется переменная в памяти. А это большой минус.

Добавлено через 8 минут
Цитата Сообщение от Jutar Посмотреть сообщение
P.P.S. я начинающий программист и на данном этапе "развития" всего лишь экспериментирую...
Изучайте информатику) Представления чисел в ячейки памяти, Машину Тьюринга, коды Фано и т.д.
Хуже вам не будит, вопросов меньше будет, да и самому интересно будет.
0
19.03.2013, 20:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 20:36
Привет! Вот еще темы с ответами:

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

Зачем функции дают тип возврата - имя класса? - C++
Думаю вы по названию не поняли, так вот. Допустим я объявил класс Car. Читаю учебник и вижу там такое: Car *Function(....); Что это...

Зачем присваивать переменной disc ноль? Объясните пожалуйста - C++
Зачем присваивать disc = 0 (см. 9 строчку кода: double oplata, disc=0; Препод говорит что нужен, интуиция и опыт что нет. Где я не прав?...

Зачем нужно u--? - C++
Как я понимаю это счетчик итераций !! но зачем он ?? #include <iostream> #include <stdio.h> #include <conio.h> using namespace...


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

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

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