Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 197 198 [199] 200 201 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#2971
,
|
|
|
|
|
Сообщ.
#2972
,
|
|
|
|
Цитата IL_Agent @ В c++ - не выделяется. Поэтому я не знаю, что будет, если я напишу a = b, не разбирая код кк/оп, если они есть. А в c# - достаточно знать тип. А если тип структура? |
|
Сообщ.
#2973
,
|
|
|
|
Но ведь ты не знаешь, что будет, если напишешь
a.Assign(b); a.release(); a.Free(); a.alloc(); ... [тысячи их] Ты смотришь код всех используемых методов? |
|
Сообщ.
#2974
,
|
|
|
|
Ну а то, что я описывал касательно С++ - кривизна как минимум не меньшая. Цитата D_KEY @ "Безальтернативность" - это когда некий инструмент является лучшим для решения некоторого круга задач? Скорее единственный. Конечно, есть задачи, в которых он лучший и не единственный. А, ну с этим точно не поспоришь. Цитата D_KEY @ Почему ? Тип он и есть тип. Я, например, не знаю, является ли std::vector<int>::iterator классом, структурой, указателем или еще чем-то.Зачем мне это знать? Знать тип и знать идентификатор, с помощью которого объявляются переменные этого типа - имхо не одно и то же. Добавлено Цитата Adil @ Ты смотришь код всех используемых методов? Да причём тут все методы ? Мы говорили про a = b. |
|
Сообщ.
#2975
,
|
|
|
|
Цитата IL_Agent @ Да причём тут a = b? Давай поговорим о всех методах! Да причём тут все методы ? Мы говорили про a = b. |
|
Сообщ.
#2976
,
|
|
|
|
Цитата IL_Agent @ Ну а то, что я описывал касательно С++ - кривизна как минимум не меньшая. Ты пока этого показать не сумел Цитата Цитата D_KEY @ Почему ? Тип он и есть тип. Я, например, не знаю, является ли std::vector<int>::iterator классом, структурой, указателем или еще чем-то.Зачем мне это знать? Знать тип и знать идентификатор, с помощью которого объявляются переменные этого типа - имхо не одно и то же. Прячешься за формулировками? Я используют тип std::vector<int>::iterator совершенно свободно. А класс он или указатель или еще что-то меня не касается - этот выбор остается за автором. И переменные создавать могу, и работать с ними. А вот в случае, когда классы выпадают из системы типов, все гораздо хуже Цитата Цитата Adil @ Ты смотришь код всех используемых методов? Да причём тут все методы ? Мы говорили про a = b. А почему это не может быть метод? Мы говорим о значениях, ты о ссылках. В случае ссылок это действительно не метод, но ведь в шарпе есть и типы-значения? |
|
Сообщ.
#2977
,
|
|
|
|
Цитата D_KEY @ Я используют тип std::vector<int>::iterator совершенно свободно. А класс он или указатель или еще что-то меня не касается - этот выбор остается за автором. а если от него унаследоваться? |
|
Сообщ.
#2978
,
|
|
|
|
Цитата korvin @ Цитата D_KEY @ Я используют тип std::vector<int>::iterator совершенно свободно. А класс он или указатель или еще что-то меня не касается - этот выбор остается за автором. а если от него унаследоваться? Зачем мне от него наследоваться ? |
|
Сообщ.
#2979
,
|
|
|
|
Цитата D_KEY @ А почему это не может быть метод? делать оператор присваивания методом -- весьма идиотская затея, необходимости в этом быть в принципе не должно. само добавление оператора присваивания в язык сильно усложняет семантику языка, но это почти всегда оправданная цена, но введение возможности перегрузить его -- это не менее сильное усложнение сверх того, при этом не несущее никакой практической пользы. Добавлено Цитата D_KEY @ Зачем мне от него наследоваться ?ну откуда я знаю, вдруг захотелось образовать подтип =) |
|
Сообщ.
#2980
,
|
|
|
|
Цитата IL_Agent @ Поэтому я не знаю, что будет, если я напишу a = b, не разбирая код кк/оп, если они есть. А в c# - достаточно знать тип. За редким исключением, если a и b не принадлежат одной иерархии и определен implicit operator. Тогда в нем ты можешь вернуть другую ссылку если a и b переменные ссылочных типов, либо вернуть другое значение, если a и b переменные значимых типов. Т.е. знания class это или struct не хватит. |
|
Сообщ.
#2981
,
|
|
|
|
Цитата korvin @ Странный подход. Ну не хочешь усложнять - не перегружай, вообще не определяй этот оператор. Зачем заранее ограничивать возможности языка исскуственными запретами? Может, поэтому C++ и более распространнён, потому что более гибкий? делать оператор присваивания методом -- весьма идиотская затея, необходимости в этом быть в принципе не должно. само добавление оператора присваивания в язык сильно усложняет семантику языка, но это почти всегда оправданная цена, но введение возможности перегрузить его -- это не менее сильное усложнение сверх того, при этом не несущее никакой практической пользы. |
|
Сообщ.
#2982
,
|
|
|
|
Цитата korvin @ Это в анналы Мастерова. Шедевр! korvin, какая книжка на этот раз по голове стукнула? В баре бармен наливает бокал делать оператор присваивания методом -- весьма идиотская затея, необходимости в этом быть в принципе не должно. само добавление оператора присваивания в язык сильно усложняет семантику языка, но это почти всегда оправданная цена, но введение возможности перегрузить его -- это не менее сильное усложнение сверх того, при этом не несущее никакой практической пользы. |
|
Сообщ.
#2983
,
|
|
|
|
Цитата Qraizer @ Это в анналы Мастерова. Шедевр! korvin, какая книжка на этот раз по голове стукнула? <бред поскипан> а ты как всегда паясничаешь, не понимая предмета http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-23.html#%_sec_3.4 начни отсюда |
|
Сообщ.
#2984
,
|
|
|
|
Цитата D_KEY @ Ты пока этого показать не сумел А ты смог ? Как ты вообще хочешь, чтобы я это показал ? Я предлагая пример - мне отвечают, что надо знать стандарт - и никаких проблем. Ну тоже самое и я могу ответить на любую критику.Цитата D_KEY @ Я используют тип std::vector<int>::iterator совершенно свободно. А класс он или указатель или еще что-то меня не касается - этот выбор остается за автором. Ты используешь его совершенно свободно, потому что знаешь, как он себя поведёт в тех случаях, когда ты его используешь. Я тоже использую совершенно свободно всё, что знаю. Цитата D_KEY @ В случае ссылок это действительно не метод, но ведь в шарпе есть и типы-значения? И с ними он тоже ведёт себя однозначно. |
|
Сообщ.
#2985
,
|
|
|
|
Цитата IL_Agent @ Ты используешь его совершенно свободно, потому что знаешь, как он себя поведёт в тех случаях, когда ты его используешь. Я тоже использую совершенно свободно всё, что знаю. А как можно что то программировать и незнать как оно работает? Как ты вообще вызываешь функции, которые понятия не имеешь что делают? Я например, перед тем как использовать незнакомое SDK/функции/классы - всегда читаю документацию по ним, если мне не хватает понять по их идентификаторам и коментариям что эта функция/класс делают... Заметь, никакого кода я не курю, да зачастую его попросту и нет, и оно мне и нафик не нужно, мне достаточно изучить документацию, все. О каких случаях ты говоришь? |