Delphi vs C++
, Часть 1
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.58] |
|
|
Правила раздела:
| Страницы: (117) « Первая ... 98 99 [100] 101 102 ... 116 117 ( Перейти к последнему сообщению ) |
Delphi vs C++
, Часть 1
|
Сообщ.
#1486
,
|
|
|
|
Да, это можно сделать средствами, не являющимися грязным хаком. Но, захотеть этого нужно достаточно сильно, и далеко не во всех случаях это будет работать. Добавлено Цитата --Ins-- @ Угу. Я тоже так считаю. Только несколько перефразирую - это некий "универсальный" инструмент, который подобен длинному древку с лопатой на одной стороне, и с граблями на другом. Начинаешь копать - грабли мешают. А стоит на эти грабли случайно наступить - получишь по лбу лопатой ![]() Ну, плохому землекопу известно, что мешает. |
|
Сообщ.
#1487
,
|
|
|
|
Цитата Ну и почему ? Говорят, кто-то из разработчиков языка C очень любил краткость. Ему хотелось вместо 26 иметь возможность использовать 52 однобуквенных идентификатора. Так и весь язык - построен на удовлетворении чьих-то по меньшей мере странных желаний. А желающим странного в Древнем Китае отрубали голову Очень мудро! Добавлено Цитата Ну, плохому землекопу известно, что мешает. Да нет, это обычная проблема любого инструмента, выдающего себя за "универсальный". Добавлено Цитата Да, это можно сделать средствами, не являющимися грязным хаком. Жуть какая! А в kernel-mode из пользовательского приложения можно вылезти средствами языка? |
|
Сообщ.
#1488
,
|
|
|
|
Цитата --Ins-- @ Жуть какая! ![]() Ой не говори. Добавлено Дело в том, что когда программист дорастает до понимания таких "фишек", он уже достаточно грамотен для того, чтобы понимать, как их применять или не применять. И "случайно" он на них не наступит. |
|
Сообщ.
#1489
,
|
|
|
|
Цитата И "случайно" он на них не наступит. Я надеюсь вы сами прекрасно понимаете несерьезность таких аргументов "Да я уже сто раз так делал!, сказал курильщик, сидя на бочке с порохом. И тут уголек с его окурка сорвался и полетел вниз..." Добавлено Неужели нужно быть таким грамотным, чтобы прочесть в книжке, как получить доступ к приватному полю класса? Добавлено Цитата Так что это не более, че Ваше HO. Да тут все, если честно, наше HO Это же холивар |
|
Сообщ.
#1490
,
|
|
|
|
Цитата --Ins-- @ Так и весь язык - построен на удовлетворении чьих-то по меньшей мере странных желаний. Вообще не вижу тут ничего странного в возможности языка создавать компактные выражения. А причины для минимизации количества символов в исходном коде программы на момент создания Ц были вполне объективные. Так что это не более, че Ваше HO. |
|
Сообщ.
#1491
,
|
|
|
|
Цитата --Ins-- @ Неужели нужно быть таким грамотным, чтобы прочесть в книжке, как получить доступ к приватному полю класса? Ну, в данном случае - да. По крайней мере, иметь представление о шаблонах и частичной специализации методов класса. И то, зная о таком способе, навскидку я его не воспроизведу. Только "по бумажке". |
|
Сообщ.
#1492
,
|
|
|
|
Цитата --Ins-- @ "Да я уже сто раз так делал!, сказал курильщик, сидя на бочке с порохом. И тут уголек с его окурка сорвался и полетел вниз..." В Ц/Ц++ курильщики, которые, нет не сто, а раз пятый - десятый пытаются чо-то подобное делать, не зная назначения средсва языка или имея неправильное представление о том, как оно работает, обычно задают на форумах дурацкие вопросы в духе "памагите у меня чо-то ничо не работает". |
|
Сообщ.
#1493
,
|
|
|
|
Цитата Вообще не вижу тут ничего странного в возможности языка создавать компактные выражения. А причины для минимизации количества символов в исходном коде программы на момент создания Ц были вполне объективные. А по-моему, это уже фанатизм, ловля блох. Если завести двухбуквенный идентификатор (когда 26 однобуквенных уже исчерпаны), но при этом убрать из синтаксиса лишнее слово VOID - выжмешь больше |
|
Сообщ.
#1494
,
|
|
|
|
Цитата --Ins-- @ Дано: необходимость вызова реализации виртуального метода предка, перекрытого в данном классе. тут ничего сложного нет ![]() ![]() class Base { public: void foo1(){i++} private: int i; } class Delivered:public Base { public: void foo1(){j++;} void Do() { foo1(); // j++ Base::foo1(); // i++ } private: int j; } |
|
Сообщ.
#1495
,
|
|
|
|
Цитата тут ничего сложного нет Я понимаю Плохо, что ничего сложного нет Прочитай обсуждение полностьюХотя Flex Ferrum утверждает, что это не так уж и просто на самом деле, нужно быть "продвинутым" сишником |
|
Сообщ.
#1496
,
|
|
|
|
Инами словами - полиморфизм в топку. Или, если нравится, Принцип Лисков в топку. Короче, не кошерно ![]() Цитата Flex Ferrum @ Правильно ли я понимаю, что острая заточка ножа позволят откромсать себе полпальца, а значит провоцирует на членовредительство? Не для промышленности. |
|
Сообщ.
#1497
,
|
|
|
|
Цитата Инами словами - полиморфизм в топку. Тут полиморфизм - ни причем. В том случае (c reintroduce) мы объявляем НОВЫЙ метод, хоть и одноименный, но с другими параметрами. Со старым ничего не случится. Можно было методу просто дать другое имя, тогда бы это все не потребовалось, но мало ли, вдруг кому захочется дать точно такое же... |
|
Сообщ.
#1498
,
|
|
|
|
Цитата wind @ Не для промышленности. В смысле? |
|
Сообщ.
#1499
,
|
|
|
|
Цитата Flex Ferrum @ В смысле? Язык, содержащий такое количество нюансов и требующий глубокого изучения - не для промышленности, не для конвеера. Иными словами, гибкий инструмент хорош только в руках мастера. |
|
Сообщ.
#1500
,
|
|
|
|
Цитата wind @ Язык, содержащий такое количество нюансов и требующий глубокого изучения - не для промышленности, не для конвеера. Иными словами, гибкий инструмент хорош только в руках мастера. О да... Ты промышленности это расскажи. Промышленный код весьма далек от всех этих "нюансов". Добавлено Впрочем - с этим спором в соседнюю тему. Там примитивное решето Эрастофена на джаве со свистом слило плюсовому варианту... А ты говоришь - промышленность... |