|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
Как правильно сделать выбор между С и С++?08.11.2016, 10:02. Показов 2207. Ответов 39
Метки нет (Все метки)
В первую очередь интересует с точки зрения потребления ресурсов программы а так же быстродействие
Ещё интересно, есть ли операции, которые быстрее в плюсах чем на Си? Мне нравятся плюсы, но многие пишут что плюсы медленнее в целом чем Си а так же у плюсов есть существенный оверхед потребления ресурсов а у Си он меньше В каких ситуациях плюсы в целом по скорости и производительности могут быть лучше Си (и могут ли вообще?) На простых тестах на быстродействие в принципе почти одно и то же (цифры времени исполнения бегают то в пользу си то в пользу плюсов) Понимаю что одним словом все не опишешь но хотелось бы получить хоть какую то картину
0
|
|
| 08.11.2016, 10:02 | |
|
Ответы с готовыми решениями:
39
Помогите сделать выбор между двумя книгами Как сделать правильный выбор между C# и Java? Необходимо сделать выбор между: Netgear WN3000RP и LINKSYS RE1000-EE, как репитеры для NETGEAR WNDR4000 |
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|||
| 08.11.2016, 13:23 [ТС] | |||
Допустим есть интерфейс и много реализаций, для возможности подменить реализацию без изменения исходного кода программыДобавлено через 3 минуты
0
|
|||
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|||
| 08.11.2016, 13:30 | |||
|
Но что-то у нас получается как в повести "О Фоме и Ерёме".
0
|
|||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||||
| 08.11.2016, 13:34 [ТС] | ||||
![]() Думаю это не критично, ведь и так заметно что спрашиваю для себя ![]() Добавлено через 34 секунды просто разные архитектурные решения на разных реализациях
0
|
||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
|
| 08.11.2016, 13:54 | |
|
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 08.11.2016, 14:02 [ТС] | ||
|
DrOffset,
А можно пример? В Си нет абстрактных классов и наследования. Насколько я знаю, максимум что можно сделать это использовать указатели на функции внутри структуры но это архитектурный костыль В итоге получаем урезанную версию ООП и костыль В том то и смысл что хочется использовать все нормальные ООП фичиДобавлено через 3 минуты
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
|||||||
| 08.11.2016, 14:06 | |||||||
|
Напомню ветвь дискуссии. Язык другой, подход к ООП - другой. Это нужно понять. Добавлено через 1 минуту
1
|
|||||||
|
Неэпический
|
||
| 08.11.2016, 14:12 | ||
|
Во-первых, зачем-то приперли наследование без причины, а во-вторых, создайте с таким подходом два "объекта" в Си. В общем и целом, почитав тему пришел к выводу, что Вы несете бред. Без обид, но это так.
0
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||||||
| 08.11.2016, 14:14 [ТС] | ||||||
Из за того что такой подход меня не устраивает, решил создать подобную тему.
Добавлено через 1 минуту
0
|
||||||
|
Неэпический
|
|||
| 08.11.2016, 14:20 | |||
|
потому подобному сравнению не подлежат. Вы бы здесь этих вопросов не задавали.
0
|
|||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|||
| 08.11.2016, 14:24 [ТС] | |||
|
А именно, имеется сущность "пользователь", ему можно присвоить возраст с помощью метода/функции и получить этот возраст. Представьте что "Си"-шный пример это класс просто ввиду отсутствия необходимого для описания класса синтаксиса функции и поле просто разбросаны по файлику
0
|
|||
|
Неэпический
|
|||
| 08.11.2016, 14:30 | |||
|
Создайте второго пользователя с таким подходом в Си, увидите о чем я. Эти коды - абсолютно разные. ![]() Добавлено через 1 минуту ![]() Для множества - придется усложнять код. А чтобы полиморфизм эмитировать, придется еще больше постараться. Так что когда коды будут готовы к сравнению, тогда и сравним.
0
|
|||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||||
| 08.11.2016, 14:35 [ТС] | ||||
![]() Особенно учитывая тот факт что плюсы уже предоставляют готовое решениеОтсюда и мои вопросы...
0
|
||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
||
| 08.11.2016, 14:44 | ||
Сообщение было отмечено Undisputed как решение
Решение![]() Впрочем, ответы на вопросы просты: * Да, на С++ можно писать также эффективно, как на С. * Да, можно даже при этом не до конца отказываться от "фишек" С++, например шаблоны и наследование при грамотном подходе не будут вносить оверхеда, по сравнению с аналогичной реализацией на С. * Да, С++ может давать оверхед, если программист не понимает как он работает "внутри". * Да, есть определенная цена за универсальность, при использовании некоторых инструментов С++. Больше тут нечего сказать.
1
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 08.11.2016, 14:47 [ТС] | ||
|
Понятно, спасибо ![]() Выходит надо просто хорошо знать устройство Си и плюсов, а дальше походу программирования смотреть что где можно использовать а что нет иначе оверхед и тормоза в сравнении с Си неминуемы. Если голова на плечах и есть хорошие знания - результаты плюсов в принципе не будут уступать Си
0
|
||
|
Неэпический
|
||
| 08.11.2016, 14:49 | ||
|
И это не костылизация, это стандартный подход к решению такого рода проблем. В конце концов, не статические функции-члены в классах C++ также принимают указатель на экземпляр класса, только в Си это всё вручную делается, а в C++ об этом заботится компилятор.
0
|
||
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 08.11.2016, 14:54 | ||
|
Причем чаще всего, передавать надо *this. Или в лямбде в список захвата.. Добавлено через 1 минуту Не по теме: Давно хотел поплакаться на эту тему :) Аж с души слегло
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
|||
| 08.11.2016, 14:56 | |||
![]() Об этом и речь, нужно понимать, что ты делаешь. Тогда и вопросы твои будут разрешимы и очевидны.
1
|
|||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||||
| 08.11.2016, 15:06 [ТС] | ||||
![]() Многие ведущие языки с поддержкой ООП предоставляют одинаковые средства для разработки в ООП стиле В связи с этим наблюдается некоторая стандартизация возможностей у разных языков для этого подхода "Нормально" может и не корректно было сказано, пусть будет "общепринятые подходы" ![]() К тому же я ничего не утверждал а лишь предположил что это возможно
0
|
||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
||
| 08.11.2016, 15:19 | ||
|
Как правило, платформа (а рамках операционной системы и архитектуры процессора) гарантирует переносимость. Для windows, например, от этой гарантии зависит работа такой вещи как COM (которую и из С можно использовать). Подборка ссылок по теме есть тут, схожий вопрос: http://stackoverflow.com/quest... -compilers
1
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 08.11.2016, 15:22 [ТС] | |
|
DrOffset,
Спасибо, попробую разобраться
0
|
|
| 08.11.2016, 15:22 | |
|
Помогаю со студенческими работами здесь
40
Как правильно дублировать в actionscript 2.0 и как правильно сделать объект для дублирования
Сделать выбор между двумя нетбуками по одной цене, но с разными преимуществами Как сделать,у меня сервер обычная XP,как мне правильно сделать так,что бы некоторые компы отрезать от инета,но не от базы данных(К+ и 1С и т.п) OpenFileDialog1 - Как убрать выбор директории, сделать её по умолчанию одну пример "C://cjkdsofj.sys" это выбор файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|