
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.188] |
![]() |
|
Страницы: (117) « Первая ... 98 99 [100] 101 102 ... 116 117 ( Перейти к последнему сообщению ) |
Сообщ.
#1486
,
|
|
|
Да, это можно сделать средствами, не являющимися грязным хаком. Но, захотеть этого нужно достаточно сильно, и далеко не во всех случаях это будет работать. Добавлено Цитата --Ins-- @ Угу. Я тоже так считаю. Только несколько перефразирую - это некий "универсальный" инструмент, который подобен длинному древку с лопатой на одной стороне, и с граблями на другом. Начинаешь копать - грабли мешают. А стоит на эти грабли случайно наступить - получишь по лбу лопатой ![]() Ну, плохому землекопу известно, что мешает. ![]() |
Сообщ.
#1487
,
|
|
|
Цитата Ну и почему ? Говорят, кто-то из разработчиков языка C очень любил краткость. Ему хотелось вместо 26 иметь возможность использовать 52 однобуквенных идентификатора. Так и весь язык - построен на удовлетворении чьих-то по меньшей мере странных желаний. А желающим странного в Древнем Китае отрубали голову ![]() ![]() Добавлено Цитата Ну, плохому землекопу известно, что мешает. Да нет, это обычная проблема любого инструмента, выдающего себя за "универсальный". ![]() Добавлено Цитата Да, это можно сделать средствами, не являющимися грязным хаком. Жуть какая! ![]() |
Сообщ.
#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 @ Язык, содержащий такое количество нюансов и требующий глубокого изучения - не для промышленности, не для конвеера. Иными словами, гибкий инструмент хорош только в руках мастера. О да... Ты промышленности это расскажи. ![]() Добавлено Впрочем - с этим спором в соседнюю тему. Там примитивное решето Эрастофена на джаве со свистом слило плюсовому варианту... А ты говоришь - промышленность... ![]() |