to crimaniak

программирование

http://otvety.google.ru/otvety/thread?tid=64bf2cc315c9b1ae&fid=64bf2cc315c9b1ae0004820b23e05ed5&table=%2Fotvety%2Fuser%3Fuserid%3D18056143178552924683%26tab%3Dwtmtor

То, что я возможно не правильно расцениваю быстродействие структур и классов еще не означает, что я не понимаю ООП. Так что извольте больше не кидаться подобными необоснованными фразами, мне это не приятно. Тогда бы уж лучше сказали, что я не понимаю, как компилятор "воспринимает" классы и структуры, был бы другой разговор. Все мы ошибаемся, это нормально.

Примечание:
crimaniak просто я первые ваши фразы воспринял, как троллинг :). Теперь другое дело, спасибо за поправки.

Примечание:
Честно, такого примера я не приведу, тк о том, что я написал мною было прочитано только в теории (в некоторых книгах + гвоорили на многих подобных обсуждениях). Да и как сказал SLoo все также зависит от самого компилятора, как ни крути. Структуры же изначально не имели такой вид, как сейчас, положим, в шарпе. Они ведь там по сути представляют практически теже самые классы, поддерживают наследование, полиморфизм и пр.. В плюсах структуры иные, и как бы в силу их "простоты" я и делал вывод о быстродействии. Не прав - окей, буду знать.

Примечание:
Хотя эти самые структуры в шарпе не могуд наследовать классы и другие структуры (но есть возможность наследовать интерфейсы). Да и по поводу полиморфизма я все же наверное ляпнул. Хотя в целом ммысль моя понятна, я надеюсь.
Ответы:
Да компилятор тут ни при чем вообще. ООП - это парадигма, её можно использовать хоть на бэйсике, и языки отличаются только уровнем поддержки этой парадигмы. Когда появился С++ и я начал его изучать, оказалось, что я и так уже давно пишу объектно-ориентированно на С, включая вручную сделанные таблицы виртуальных функций. И в самой парадигме нет ничего, что приводило бы к более медленному коду. Структура отличается от класса только тем, что в последнем случае есть некоторые методы, логически "привязанные" к ней. Семантически они отличаются от обычных процедур только тем, каким образом в них передается первый параметр, "физически" - вообще ничем. Виртуальные процедуры - это исключение, но они используются только в случаях, когда и в процедурном программировании пришлось бы реализовывать косвенный вызов, только вручную.
Неприятно то, что я написал - никаких проблем, если фраза необоснованна, просто подтверди делом свою фразу "ООП - это клевая парадигма, но при этом у неё есть минус - увеличивается время исполнения кода ...". Дай конкретный пример, когда ООП приводит к увеличению времени исполнения кода по сравнению с процедурным подходом. И мы его разберём. Только перед постингом как следует всё проверь и подумай над примером. Лет пятнадцать назад в правилах одной эхи без правил было предупреждение, что реагировать на мои письма нервно опасно для умственного здоровья, а с тех пор я стал только циничнее. И опять могу чего-нибудь неприятного тебе наговорить, если лажу прогонишь.


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.