![]() |
|
Модераторы: Daevaorn Страницы: (14) Все « Первая ... 4 5 [6] 7 8 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| Fazil6 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
ну, например если бы компиллировалось
то я вынужден был бы признать, что ничего не понимаю и не знаю. Не представляю что ты можешь привести для доказательства своей теории ибо она ошибочна и доказательства не имеет по определению. В противном случае никто с тобой не спорил бы. Со мной, например, кроме тебя никто не спорит в этой ветке. |
||||
|
|||||
| Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 15 Всего: 88 |
likehood, тогда скажи мне, что же это такое указатель на указатель В твоём понимании, конечно. И какой тип он имеет.
А заодно скажи мне, что такое указатель, опять же в твоём понимании. Возможно, мы оперируем разными терминами? Я своё определение уже дал. Добавлено через 3 минуты и 55 секунд Fazil6, ты тоже скажи, если не трудно, про то, что я спросил у likehood. -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
| dizzy1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 15.2.2007 Репутация: 3 Всего: 25 |
Daevaorn, Имелось в виду средство для просмотра памяти отладчика vs.
View->Debug Windows->Memory (alt+6). С его помощью можно было бы посмотреть для случая char arr[10][10]={'a','b','c','d'}. На место памяти arr. Там должен был бы быть адрес одномерного массива, если бы был прав Dov, либо 'a''b''c''d', если бы был прав Fazil6. |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
меня вполне устраивает тот смысл, который ты вкладываешь в указатели. Меня неустраивает то как ты легко мешаешь указатели, массивы и их имена(которые могут использоваться как указатели). это неверно и безграмотно. |
|||
|
||||
| bel_nikita |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Dov,
Итак, вернемся к дискусии. Хорошо, по-твоему int a[] == int *b, т.е. int a[] - указатель и int*b - указатель. Тогда объясни мне, пожалуйста, почему не прокатывает следующее:
И еще вернемся к твоему примеру,
Обясни, пожалуйста, почему происходит Ба-Бах! в 7-ой строке? З.Ы.: Dov, ты все просишь, чтоб другие отвечали на твои вопросы: что же это такое указатель на указатель; что такое указатель и т.д. И я тебя прошу: ответь хоть на один мой вопрос, вместо очередного увиливания от ответа и придирки к словам. |
||||||||
|
|||||||||
| Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 15 Всего: 88 |
bel_nikita, не в обиду тебе, скажу. Во всей этой теме есть всего десяток моих постов. Там есть все ответы на твои вопросы. Там написано, что такое массив и что такое имя массива. Там написано, что имя массива, хоть и указатель, но константный, поэтому и не будет работать твоё присваивание, ну и так далее. Сначала нужно почитать всё внимательно, а потом уже обвинять меня в том, чего я не говорил. А то получается так, читать не хотим, давай рассказывай нам в 1000-й раз одно и тоже. Вы что думаете, мне больше заняться нечем ?
Убил здесь столько времени и всё заново начинать. Так что ли? Нет уж, надоело. Повторю ещё раз то, что я сказал раньше. Всё сказанное в этой теме, моё личное, персональное имхо. всем удачи. -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Dov, жесть. Чушь несешь полную. Почитай перед сном стандарт. Должно вылечить.
|
|||
|
||||
| Ln78 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: 13 Всего: 15 |
Добавлено через 3 минуты и 13 секунд Для большей строгости, конечно, лучше
но это дело не меняет |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
||||
|
||||
| Xenon |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Если бы было так, то ...
Почему-то всегда выдает false bel_nikita, в твоем примере
можно оправдаться и сказать, что a имеет тип int* const pTr, поэтому присваивание невозможно Это сообщение отредактировал(а) Xenon - 24.4.2007, 19:21 |
||||||
|
|||||||
| Dov |
|
||||||||||||||||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 15 Всего: 88 |
Ты хоть понимаешь, что ты здесь написал. Ты пытаешься указателю на указатель на инт присвоить адрес двумерного массива. То есть, грубо говоря, вместо int** ты ему подсовываешь int*** и хочешь, что бы это работало. Без приведения это работать не будет. Такому указателю ты можешь присвоить адрес указателя на подмассив массива, но не как не адрес самого массива. Например, ты можешь сделать так:
Ну, или извращаться и использовать приведение... Fazil6, я тоже с тобой не спорю, я,лишь, высказываю своё мнение.
А самому что, никак не разобраться?
Так, а теперь к делу.
Я сказал, что имя двумерного целочисленного массива имеет тип указатель на указатель на инт. Именно эти мои слова считают здесь чушью и бредом. Вот мои утверждения: 1. Указатель хранит адрес той ячейки памяти, на которую он указывает. Если есть такой код:
2. Значением указателя р будет выражение &var, то есть адрес переменной var. 3. Значение по этому адресу можно получить разыменовав указатель р. 4.Доказательством того, что р является указателем служит тот факт, что переменной var2 было присвоено значение 5, которое хранится в ячейке памяти, на которую указывает р, то есть значение переменной var. 5. Разыменование указателя р, то есть получение значения с той ячейки памяти, на которую он указывает это доказательство того, что р это указатель на int. 6. Поскольку рр содержит адрес указателя р, который является указателем на int, то это доказательтство того, что рр является указателем на указатель на int. 7. Разыменование указателя рр, то есть получение значения с той ячейки памяти, на которую он указывает это доказательство того, что рр это указатель на указатель на int. 8. Если значение переменной var3 равно значению var, то это доказательство того, что рр это укзатеть на указатель на int, поскольку через указатель рр мы получили значение ячейки, на которую указывает указатель р, являющийся указателем на int. 9. Таким образом выражение var3 = *(*рр) это доказательство того, что рр это указатель на указатель на int. Я хочу знать кто с чем не согласен. Кто хочет поучаствовать пишите всего два слова, номер утверждения и ответ на него, т.е. да или нет. Например: 1. нет 2. да и т.д. На сегодня всё, ребятки. Пошёл читать устав, или как там его. А, вспомнил. Стандарт. Всем пока. И удачи... в изучении стандарта. -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
||||||||||||||||
|
|||||||||||||||||
| JackYF |
|
||||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Ну где, где ты там увидел int***? Мы уже разобрались. Мы просим тебя ответить.
Тебе уже не раз говорили. Еще раз повторяю. Имя массива вообще не имеет законченного типа! Кури стандарт. У тебя в коде ни одного массива. Спасибо за работу с указателями. Мы говорим про массивы, не так ли?
Привыкай. Устав - не устав, но против стандарта не попрешь. MFC - это еще не все. |
||||
|
|||||
| apook |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Клевый спор
не имя может использоваться как указатель, а указатель может использоваться в качестве имени, а имя не есть указатель, а содержит адрес первого элемента массива.
Dov интересная гипотеза? Я думаю что 1-м элементом многомерного массива a[3][3] будет обьект с именем a[3], который в свою очередь содержит адрес элемента с индексом 0.
Dov я тебя понял Проникнувшись этим я утверждаю что не существует типа int[3][3] и int*, а есть int и все остальные значки это прибамбасы! И буду в чем-то прав. Бывает... Dov Хочется поставить плюсик но ситуация не позволяет, все же ты не прав Это сообщение отредактировал(а) apook - 25.4.2007, 04:45 -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
||||||
|
|||||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
| Kipter |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 2.5.2006 Репутация: нет Всего: нет |
Да ладно вам, застыдили Dov'a...
Он понимает как это работает и саму суть.... только с теорией плохо.... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |