Re[3]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: Lorenzo_LAMAS  
Дата: 14.06.07 06:05
Оценка: 7 (2)
V>А не массив ли указателей на целое?

нет.

V>Блин сам запутался.


http://www.cs.usfca.edu/~parrt/course/652/lectures/cdecls.html
Of course, the code must be complete enough to compile and link.
Re: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: hVostt Россия http://hvostt.ru
Дата: 15.06.07 08:39
Оценка: -1 :)
Здравствуйте, <Аноним>, Вы писали:

А>Здраствуйте, пример из книги, но он там не коментирован, поэтому прошу Вас его прокоментировать.


указатель на массив из одного int элемента. какая-то тафталогия получается. массив в С есть ни что иное, как указатель на первый элемент последовательности, даже если там будет всего один итем..
... << RSDN@Home 1.2.0 alpha rev. 0>>
silent
<no any citation>
специализация — удел насекомых... (с) Р. Хайнлайн
Re[5]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: Lorenzo_LAMAS  
Дата: 15.06.07 10:04
Оценка: 2 (1)
P_Y>А как правильно читать правую часть? Есть ссылка?

Правая-то часть это уже не объявление. Это проще в стандарте почитать. Где-то тут: 5.4.3 и, возможно 8.1 — в хитрых случаях (у нас не такой случай).
Of course, the code must be complete enough to compile and link.
Re[2]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: Lorenzo_LAMAS  
Дата: 15.06.07 09:32
Оценка: +1
V>указатель на массив из одного int элемента. какая-то тафталогия получается. массив в С есть ни что иное, как указатель на первый элемент последовательности, даже если там будет всего один итем..

В си/си++ массив есть не что иное, как массив. И никакой он не указатель. Oттого можно объявить указатель на массив и писать что-то вида

int (*p)[10][20] = new[30][10][20];

Другое дело, что в си/си++ есть преобразование массива в указатель, которое производится в ряде случаев.
И никакой тавтологии.
Of course, the code must be complete enough to compile and link.
Re[6]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: Lorenzo_LAMAS  
Дата: 26.06.07 04:56
Оценка: +1
T>Если кто-то скажет, что сие есть наглядно, я первым брошу в него камень (виртуальный ). Зубры зубрами, а самому думать тоже надо.

T>З.Ы. А руки я бы все равно вырвал...


Дак такое вряд ли где кому нужно. Написано было, скорее, в образовательных целях
Of course, the code must be complete enough to compile and link.
Re[6]: А С-то лучше знать :)
От: Erop Россия  
Дата: 26.06.07 07:02
Оценка: +1
Здравствуйте, trophim, Вы писали:

T>З.Ы. А руки я бы все равно вырвал...

А некоторые за нетерпимость расстреливают

Вообще-то код:
    int (*allVariants)[VariantsCount];

Мне понятнее чем код:
    typedef int MyVariants[VariantsCount];
    //  тут ещё дофига как много написано
    MyVariants *allVariants;


И уж конечно код
    int *p = new int[VariantsCount];
мне намного понятнее кода
    int *p = new MyVariants;

Если кому-то так не кажется, то он конечно легко объяснит как надо разрушать p. Так: [c] delete p;[c] или так: [c] delete []p;[c]
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: rg45 СССР  
Дата: 26.06.07 07:16
Оценка: +1
Здравствуйте, trophim, Вы писали:

T>Понятно, что сие для объяснения примера из книги, но я б руки вырвал с корнем за такие записи. typedef написать сложно? ...


Ну, во-первых, не всегда есть возможность написать этот самый typedef — при частичной специализации шаблонов, например, такой возможности нет. А во-вторых, это всего лишь упражнение на знание правил разбора деклараций, которые, все-таки, знать не помешает.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Справедливость выше закона. А человечность выше справедливости.
что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: Аноним  
Дата: 13.06.07 16:37
Оценка:
Здраствуйте, пример из книги, но он там не коментирован, поэтому прошу Вас его прокоментировать.

заранее спасибо.
Re: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: Анатолий Широков СССР  
Дата: 13.06.07 17:45
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здраствуйте, пример из книги, но он там не коментирован, поэтому прошу Вас его прокоментировать.


А>заранее спасибо.


Указатель на массив целых из одного элемента.
Re[2]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: vasmann  
Дата: 14.06.07 05:38
Оценка:
Здравствуйте, Анатолий Широков, Вы писали:

АШ>Здравствуйте, Аноним, Вы писали:


А>>Здраствуйте, пример из книги, но он там не коментирован, поэтому прошу Вас его прокоментировать.


А>>заранее спасибо.


АШ>Указатель на массив целых из одного элемента.

А не массив ли указателей на целое?
Блин сам запутался.
Re[4]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: vasmann  
Дата: 14.06.07 06:12
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

V>>А не массив ли указателей на целое?


L_L>нет.


V>>Блин сам запутался.


L_L>http://www.cs.usfca.edu/~parrt/course/652/lectures/cdecls.html

Виноват.
Спасибо за разяснение.
Re[4]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: P_YegreS_P Беларусь www.orienteering.bsu.by
Дата: 15.06.07 09:42
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>http://www.cs.usfca.edu/~parrt/course/652/lectures/cdecls.html

А как правильно читать правую часть? Есть ссылка?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: trophim Россия  
Дата: 23.06.07 21:47
Оценка:
Понятно, что сие для объяснения примера из книги, но я б руки вырвал с корнем за такие записи. typedef написать сложно? Занятно, видимо, наблюдать, как коллеги не могут сразу понять записи и думать 'итить, а я ж крут'.

З.Ы. Lorenzo_LAMAS это я не про вас.
[EOF]
Let it be! — Давайте есть пчелу!
Re[4]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: Ruweb  
Дата: 23.06.07 22:00
Оценка:
Здравствуйте, trophim, Вы писали:

T>Понятно, что сие для объяснения примера из книги, но я б руки вырвал с корнем за такие записи. typedef написать сложно? Занятно, видимо, наблюдать, как коллеги не могут сразу понять записи и думать 'итить, а я ж крут'.


T>З.Ы. Lorenzo_LAMAS это я не про вас.


Lorenzo_LAMAS это он липману , ну или как там его..
Re[5]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
От: trophim Россия  
Дата: 25.06.07 17:40
Оценка:
Здравствуйте, Ruweb, Вы писали:

R>Здравствуйте, trophim, Вы писали:


T>>Понятно, что сие для объяснения примера из книги, но я б руки вырвал с корнем за такие записи. typedef написать сложно? Занятно, видимо, наблюдать, как коллеги не могут сразу понять записи и думать 'итить, а я ж крут'.


T>>З.Ы. Lorenzo_LAMAS это я не про вас.


R>Lorenzo_LAMAS это он липману , ну или как там его..


Стэн Липпман? И что? Если это он написал, то это не значит, что так следует делать. Голова своя есть и мозг?
Если кто-то скажет, что сие есть наглядно, я первым брошу в него камень (виртуальный ). Зубры зубрами, а самому думать тоже надо.

З.Ы. А руки я бы все равно вырвал...
[EOF]
Let it be! — Давайте есть пчелу!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.