Здравствуйте, Анатолий Широков, Вы писали:
АШ>Здравствуйте, Аноним, Вы писали:
А>>Здраствуйте, пример из книги, но он там не коментирован, поэтому прошу Вас его прокоментировать.
А>>заранее спасибо.
АШ>Указатель на массив целых из одного элемента.
А не массив ли указателей на целое?
Блин сам запутался.
Re[3]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
Здравствуйте, <Аноним>, Вы писали:
А>Здраствуйте, пример из книги, но он там не коментирован, поэтому прошу Вас его прокоментировать.
указатель на массив из одного int элемента. какая-то тафталогия получается. массив в С есть ни что иное, как указатель на первый элемент последовательности, даже если там будет всего один итем..
V>указатель на массив из одного int элемента. какая-то тафталогия получается. массив в С есть ни что иное, как указатель на первый элемент последовательности, даже если там будет всего один итем..
В си/си++ массив есть не что иное, как массив. И никакой он не указатель. Oттого можно объявить указатель на массив и писать что-то вида
int (*p)[10][20] = new[30][10][20];
Другое дело, что в си/си++ есть преобразование массива в указатель, которое производится в ряде случаев.
И никакой тавтологии.
Of course, the code must be complete enough to compile and link.
Re[4]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
Понятно, что сие для объяснения примера из книги, но я б руки вырвал с корнем за такие записи. typedef написать сложно? Занятно, видимо, наблюдать, как коллеги не могут сразу понять записи и думать 'итить, а я ж крут'.
З.Ы. Lorenzo_LAMAS это я не про вас.
[EOF]
Let it be! — Давайте есть пчелу!
Re[4]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
Здравствуйте, trophim, Вы писали:
T>Понятно, что сие для объяснения примера из книги, но я б руки вырвал с корнем за такие записи. typedef написать сложно? Занятно, видимо, наблюдать, как коллеги не могут сразу понять записи и думать 'итить, а я ж крут'.
T>З.Ы. Lorenzo_LAMAS это я не про вас.
Lorenzo_LAMAS это он липману , ну или как там его..
Re[5]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
Здравствуйте, Ruweb, Вы писали:
R>Здравствуйте, trophim, Вы писали:
T>>Понятно, что сие для объяснения примера из книги, но я б руки вырвал с корнем за такие записи. typedef написать сложно? Занятно, видимо, наблюдать, как коллеги не могут сразу понять записи и думать 'итить, а я ж крут'.
T>>З.Ы. Lorenzo_LAMAS это я не про вас.
R>Lorenzo_LAMAS это он липману , ну или как там его..
Стэн Липпман? И что? Если это он написал, то это не значит, что так следует делать. Голова своя есть и мозг?
Если кто-то скажет, что сие есть наглядно, я первым брошу в него камень (виртуальный ). Зубры зубрами, а самому думать тоже надо.
З.Ы. А руки я бы все равно вырвал...
[EOF]
Let it be! — Давайте есть пчелу!
Re[6]: что означает int (*p)[1] = new int[ 1 ][ 1 ]; ?
T>Если кто-то скажет, что сие есть наглядно, я первым брошу в него камень (виртуальный ). Зубры зубрами, а самому думать тоже надо.
T>З.Ы. А руки я бы все равно вырвал...
Дак такое вряд ли где кому нужно. Написано было, скорее, в образовательных целях
Of course, the code must be complete enough to compile and link.
Здравствуйте, 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 ]; ?
Здравствуйте, trophim, Вы писали:
T>Понятно, что сие для объяснения примера из книги, но я б руки вырвал с корнем за такие записи. typedef написать сложно? ...
Ну, во-первых, не всегда есть возможность написать этот самый typedef — при частичной специализации шаблонов, например, такой возможности нет. А во-вторых, это всего лишь упражнение на знание правил разбора деклараций, которые, все-таки, знать не помешает.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Справедливость выше закона. А человечность выше справедливости.