Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...ddv wrote:Возможностей сделать массив указателей на функцию.crypto5 wrote:Каких возможностей? Вернуть масив строк из функции?ddv wrote:В C# нет таких проблем потому что там нет таких возможностей. Вот например жить тоже сложно, но это не значит что нужно решать эту проблему путем изкоренения жизни.nightmare2 wrote:Видете как легко сделать ошибку.
В C# таких проблем нет.
Как технарю из России стать программером в США за 150К
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как технарю из России стать программером в США за 150К
In vino Veritas!
-
- Уже с Приветом
- Posts: 481
- Joined: 04 Jul 2005 17:07
- Location: Москва->Staten Island NY
Re: Как технарю из России стать программером в США за 150К
Не факт...навскидку нашел http://www.gamedev.net/topic/505797-c-array-of-events/crypto5 wrote:Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...
-
- Уже с Приветом
- Posts: 7187
- Joined: 31 Jan 2005 15:06
- Location: GA
Re: Как технарю из России стать программером в США за 150К
Но улучшать условия жизни - разве это плохо?ddv wrote:В C# нет таких проблем потому что там нет таких возможностей. Вот например жить тоже сложно, но это не значит что нужно решать эту проблему путем изкоренения жизни.nightmare2 wrote:Видете как легко сделать ошибку.
В C# таких проблем нет.
Когда-то люди жили в пещерах и умирали от чумы.
Теперь у нас есть дома, машины, компьютеры.
Когда-то программы писали ученые, теперь все больше и больше обычных людей может это делать.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
-
- Уже с Приветом
- Posts: 7187
- Joined: 31 Jan 2005 15:06
- Location: GA
Re: Как технарю из России стать программером в США за 150К
Очень даже может быть.vopros wrote:языки с указателями нужны для того чтобы писать языки без указателей

А также всякие операционки и прочие штуки критичные к ресурсам.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
-
- Уже с Приветом
- Posts: 7187
- Joined: 31 Jan 2005 15:06
- Location: GA
Re: Как технарю из России стать программером в США за 150К
Вероятно - это будет незначительная потеря в эффетивности.crypto5 wrote:Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...ddv wrote:Возможностей сделать массив указателей на функцию.crypto5 wrote:Каких возможностей? Вернуть масив строк из функции?ddv wrote:В C# нет таких проблем потому что там нет таких возможностей. Вот например жить тоже сложно, но это не значит что нужно решать эту проблему путем изкоренения жизни.nightmare2 wrote:Видете как легко сделать ошибку.
В C# таких проблем нет.
Делегату нельзя присвоить абы что, язык проверяет типы.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как технарю из России стать программером в США за 150К
Без взгляда под капот конечно судить тяжело, но вполне может оказаться что такие проверки делаются только во время компиляции.nightmare2 wrote:Вероятно - это будет незначительная потеря в эффетивности.crypto5 wrote:Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...ddv wrote:Возможностей сделать массив указателей на функцию.crypto5 wrote:Каких возможностей? Вернуть масив строк из функции?ddv wrote: В C# нет таких проблем потому что там нет таких возможностей. Вот например жить тоже сложно, но это не значит что нужно решать эту проблему путем изкоренения жизни.
Делегату нельзя присвоить абы что, язык проверяет типы.
In vino Veritas!
-
- Уже с Приветом
- Posts: 1166
- Joined: 13 Jul 2010 18:13
- Location: Bay Area
Re: Как технарю из России стать программером в США за 150К
Это, того... говорите за себя только. Ok?nightmare2 wrote: Сложные конструкции с указателями трудночитаемы.
Необходимы дополнительные усилия чтобы сделать программу более менее понятной.

-
- Уже с Приветом
- Posts: 7187
- Joined: 31 Jan 2005 15:06
- Location: GA
Re: Как технарю из России стать программером в США за 150К
Как Вам будет угодно.hogzie wrote:Это, того... говорите за себя только. Ok?nightmare2 wrote: Сложные конструкции с указателями трудночитаемы.
Необходимы дополнительные усилия чтобы сделать программу более менее понятной.

Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
-
- Уже с Приветом
- Posts: 481
- Joined: 04 Jul 2005 17:07
- Location: Москва->Staten Island NY
Re: Как технарю из России стать программером в США за 150К
ok. эмуляция указателя на функцию тут есть....но всех возможностей указателей все равно нет.crypto5 wrote:Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как технарю из России стать программером в США за 150К
Тут вопрос, так ли они нужны С# программистам, эти все возможности.ddv wrote:ok. эмуляция указателя на функцию тут есть....но всех возможностей указателей все равно нет.crypto5 wrote:Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...
In vino Veritas!
-
- Уже с Приветом
- Posts: 481
- Joined: 04 Jul 2005 17:07
- Location: Москва->Staten Island NY
Re: Как технарю из России стать программером в США за 150К
Нужны например для свободной манипуляции данными. Попробуйте на c# разобрать бинарный пакет состоящий из плавающего количества различных структур...crypto5 wrote:Тут вопрос, так ли они нужны С# программистам, эти все возможности.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Как технарю из России стать программером в США за 150К
Работать вполне себе можно, хотя согласен что возникнут провалы в производительности, ну так драйвера сетевых карт писать это и не ниша С#-a.ddv wrote:Нужны например для свободной манипуляции данными. Попробуйте на c# разобрать бинарный пакет состоящий из плавающего количества различных структур...crypto5 wrote:Тут вопрос, так ли они нужны С# программистам, эти все возможности.
In vino Veritas!
-
- Уже с Приветом
- Posts: 481
- Joined: 04 Jul 2005 17:07
- Location: Москва->Staten Island NY
Re: Как технарю из России стать программером в США за 150К
Можно...но через одно место. А манипуляция данными нужна не только в драйверах.crypto5 wrote:Работать вполне себе можно, хотя согласен что возникнут провалы в производительности, ну так драйвера сетевых карт писать это и не ниша С#-a.
Конечно если писать только ASP.NET или GUI приложения, то этого и не нужно.
-
- Уже с Приветом
- Posts: 7412
- Joined: 03 Apr 2004 09:35
- Location: 1st Rock From The Moon
Re: Как технарю из России стать программером в США за 150К
Нет такого типа char*. Насчет кипения мозгов: Бочков и Субботин все очень просто и понятно изложили (я вообще предпочитаю их компактную книжку Кернигану с Ритчи):ddv wrote:Указатель на массив типа char - это char* . Поэтому char *flump ( ) [3] - это функция, возвращающая 3-элементный массив указателей на char. А в языке c/c++ не предусмотренны функции возвращающие массив.nightmare2 wrote: char *flump ( ) [3] /* функция, возвращающая указатель на 3-элементный массив типа char */
char *flimp[3] ( ) /* 3-элементный массив указателей на функцию, которая возвращает тип char */
У меня лично мозги тормозят когда я такое читаю в коде.
Полагаю, что я не в одиночестве.
char *flimp[3] ( ) - тоже неверное написание. Нужно писать char (*flimp[3]) ( ).
Тае что если мозги тормозят на этом - значит это не ваше.
Смотрим примеры:При интерпретации составных описателей сначала рассматриваются квадратные скобки и круглые скобки, расположенные справа от идентификатора. Квадратные и круглые скобки имеют одинаковый приоритет. Они интерпретируются слева направо. После них справа налево рассматриваются звездочки, расположенные слева от идентификатора. Спецификация типа рассматривается на последнем шаге после того, как описатель уже полностью проинтерпретирован. Для изменения действующего по умолчанию порядка интерпретации описателя можно использовать внутри него круглые скобки.
char *flump()[3] -- flump - это
char *flump()[3] -- функция
char *flump()[3] -- возвращающая трехэлементный массив
char *flump()[3] -- указателей
char *flump()[3] -- на char
Насчет char *flimp[3] ( ) Бочков и Субботин отметили:
Действительно, чтобы был массив указателей на функцию, нужно поставить скобки, как сказал ddv:С одним идентификатором можно образовать множество различных комбинаций признаков типа массив, указатель или функция. Некоторые комбинации недопустимы. Например, массив не может содержать в качестве элементов функции, а функция не может возвращать массив или функцию.
flimp -- flimp - это
flimp[3] -- трехэлементный массив
*flimp[3] -- указателей
(*flimp[3])() -- на функцию, здесь меняем порядок интерпретации с помощью скобок
char (*flimp[3])() -- возвращающую char
Читайте это: http://progbook.ru/c/180-bochkov_yazyk_ ... ya_si.html Все предложения по делу. Ни одного выкинуть нельзя. Очень хорошее, концентрированное, при этом грамотное (технически и с точки зрения русского языка) изложение.
-
- Уже с Приветом
- Posts: 481
- Joined: 04 Jul 2005 17:07
- Location: Москва->Staten Island NY
Re: Как технарю из России стать программером в США за 150К
А теперь попробуйте реально написать такую функцию и посмотреть что вам на это скажет компилятор.Brazen wrote:char *flump()[3] -- возвращающая трехэлементный массив
VC++: error C2090
GNU GCC: error ... declared as function returning an array