![]() |
|
Модераторы: bsa |
![]()
|
|
| VLGeorgievich |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
Вопрос идиотский:
В чем разница между int *p = new int (100) и int *p = new int [100] В первом случае при delete [] p возникает ошибка |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
одни круглые, а другие квадратные
для круглых само-собой нада юзать delete () Это сообщение отредактировал(а) GoldFinch - 8.4.2009, 19:20 |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
delete [] p; применяйте только тогда, когда вы делаете int *p = new int [100] в противном случае для int *p = new int (100) делайте delete p; круглые скобки - вы создаёте одну переменную. в скобках вы указываете значение этой переменной. квадратными -целый массив переменных. значение в скобках квадратных - количество элементов массива. Это сообщение отредактировал(а) zim22 - 8.4.2009, 19:23 |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
||||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
UnrealMan поставил минус zim22 с комментарием
Я минус исправил..но высказатся хочу. Я так думаю наш друг будет отвечать как всегда минусами Уважаемый UnrealMan. Я не знаю что конкретно вы понимаете под словом "переменная", но у этого слова есть четкое описание - именованная область памяти. И будет ли эта память в HEAP или STACK-е не важно..это переменная! Или в книгах которые вы читали не было заголовков Выделение памяти для динамических переменных или Динамические переменные? Это сообщение отредактировал(а) azesmcar - 9.4.2009, 20:40 |
|||
|
||||
| UnrealMan |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 5 Всего: 32 |
Накладочка вышла в комментарии
Объект может иметь имя:
но из этого не следует, что любой объект имеет имя и его можно называть переменной. Переменная - это именованный объект. Если объекту не дано имя, то это не переменная. Накрутил рейтинг != удалил минус. Подменять принятые в языке соглашения своими выдумками неправильно. Если выпороть человека за его графоманию, то через неделю об этом уже никто не вспомнит. А вот минусы - они как-то более на виду. Если кому-то лень искать достоверную информацию и проще объявлять мои оценки ошибочными, то мне тем более лень тратить своё время на изложение фактов в доступном виде. Раньше это ещё имело для меня смысл, т.к. самому помогало в изучении стандарта. |
||||
|
|||||
| azesmcar |
|
||||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
UnrealMan - Я рад что вы все таки ответили.
я не сказал - удалил, я сказал исправил.
Верно, можно создать объект без имени, и да - вы правы это называется просто массив а не массив переменных. Но не думаете ли вы что одно то что человек назвал это массивом переменных недостаточный повод понижать репутацию? Допустим у нас есть массив int a[10]; что такое в этом случае a[0], a[1], a[2] - это элементы массива, тоже что и 0[a], 1[a], 2[a], то же что и a+0, a+1, a+2. что такое a + 2? - не переменная. Если вдуматся так - то да..но не думаете ли вы что a[2] - в принципе можно назвать переменной, это в каком-то смысле именованный объект. Да или нет, не особо важно, так как вопрос спорный и скорее философический
Вы на меня намекаете? Неужели моя информация была не достоверной? Странно почему тогда вы со мной согласились
я отвечал на ваш комментарий. Это сообщение отредактировал(а) azesmcar - 9.4.2009, 21:09 |
||||||||
|
|||||||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
вставлю и я свои 5 копеек.
судя по тому, что ТС, как мне показалось, не гуру С++ - я решил как можно проще выразить свои мысли. Если бы я додумался привести аналогию с бананами - я бы их привёл. например: переменная - это один банан. массив - это ящик с бананами. главное - чтобы ТС понял в чём разница. а ссылки на стандарт приводить не всегда уместно. |
|||
|
||||
| UnrealMan |
|
||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 5 Всего: 32 |
*(a+0), *(a+1), *(a+2), если быть точнее.
Нет, использование имени объекта и вычисление его адреса - это две разные вещи. И если даже мы напишем
то ref не будет переменной. Вот а - это переменная.
Спорный для кого? Для сочинителей, которым по барабану терминология?
У меня другое мнение на этот счёт. На всех, кто характеризовывал мои оценки как несправедливые Не хватало лишь одного - установления на её основе ошибочности в использовании терминологии (минус был поставлен за это). |
||||||||||
|
|||||||||||
| azesmcar |
|
||||||||||||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
а, ну да - точно.
ну потому я и сказал - в принципе. т.е. в разговоре.
ясно дело, а - это ссылка на переменную.
ну да
Это я понял. Я только сказал что повода Я не вижу а не говорил что его нет, а это знаете, дело индивидуальное.
ну я конкретну это характеризовал, так как то что было написано в комментах было не совсем верно.
в коментах было написано другое Добавлено через 2 минуты и 28 секунд
с этим комментом согласен |
||||||||||||||||
|
|||||||||||||||||
| C/L |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 31.7.2004 Где: Самара Репутация: нет Всего: 1 |
ИМХО : Переменная - то что изменяет свое значение. Противоположность переменной константа - изменятся не может. Возможность изментять значение основное свойство переменной То что переменная должна иметь имя (опять же ИМХО) имеет второстепенное значение.
Может быть... Но по большому счету и выражение Объект.член_объекта = значение; тоже можно назвать вычислением адреса. Тогда вопрос - члены объектов могут считаться переменными? Это сообщение отредактировал(а) C/L - 10.4.2009, 01:04 |
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
||||
|
||||
| C/L |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 31.7.2004 Где: Самара Репутация: нет Всего: 1 |
Ну и какие тут могут быть безобразия? Приведите пожалуйста хотя бы одно. Безобразия происходят от непонимания сущности процессов. Если разночтений в сущности происходящего нет, ничего страшного не произойдет, если мы например назовем массив, созданный new[] - массивом переменных. Это сообщение отредактировал(а) C/L - 10.4.2009, 02:25 |
|||
|
||||
| C/L |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 31.7.2004 Где: Самара Репутация: нет Всего: 1 |
Как назвать то, на что будет ссылаться указатель a? У него ведь нет имени, значит оно не может быть переменной???
Как она "поименованна": именем объекта в compile time или указателем и смещением в run time, это уже другой вопрос. Опять же ИМХО, жду возражений с примерми |
||||||
|
|||||||
| and277 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 9.4.2009 Репутация: нет Всего: нет |
Интересную темку подняли...
Ну а что говрит Вики на этот счет? Процитирую : "Переме́нная в традиционных (императивных) языках программирования — поименованная либо адресуемая иным способом область памяти, имя или адрес которой можно использовать для осуществления доступа к данным, находящимся в переменной (по данному адресу)." Имхо вики не авторитет, но все же Это сообщение отредактировал(а) and277 - 10.4.2009, 06:47 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |