|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
Как правильно сделать выбор между С и С++?08.11.2016, 10:02. Показов 2657. Ответов 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
|
|||
|
Форумчанин
8217 / 5048 / 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
|
||||
|
19506 / 10109 / 2463
Регистрация: 30.01.2014
Сообщений: 17,833
|
|
| 08.11.2016, 13:54 | |
|
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 08.11.2016, 14:02 [ТС] | ||
|
DrOffset,
А можно пример? В Си нет абстрактных классов и наследования. Насколько я знаю, максимум что можно сделать это использовать указатели на функции внутри структуры но это архитектурный костыль В итоге получаем урезанную версию ООП и костыль В том то и смысл что хочется использовать все нормальные ООП фичиДобавлено через 3 минуты
0
|
||
|
19506 / 10109 / 2463
Регистрация: 30.01.2014
Сообщений: 17,833
|
|||||||
| 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
|
||||
|
19506 / 10109 / 2463
Регистрация: 30.01.2014
Сообщений: 17,833
|
||
| 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
|
||
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 08.11.2016, 14:54 | ||
|
Причем чаще всего, передавать надо *this. Или в лямбде в список захвата.. Добавлено через 1 минуту Не по теме: Давно хотел поплакаться на эту тему :) Аж с души слегло
0
|
||
|
19506 / 10109 / 2463
Регистрация: 30.01.2014
Сообщений: 17,833
|
|||
| 08.11.2016, 14:56 | |||
![]() Об этом и речь, нужно понимать, что ты делаешь. Тогда и вопросы твои будут разрешимы и очевидны.
1
|
|||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||||
| 08.11.2016, 15:06 [ТС] | ||||
![]() Многие ведущие языки с поддержкой ООП предоставляют одинаковые средства для разработки в ООП стиле В связи с этим наблюдается некоторая стандартизация возможностей у разных языков для этого подхода "Нормально" может и не корректно было сказано, пусть будет "общепринятые подходы" ![]() К тому же я ничего не утверждал а лишь предположил что это возможно
0
|
||||
|
19506 / 10109 / 2463
Регистрация: 30.01.2014
Сообщений: 17,833
|
||
| 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 | |
|
Как правильно дублировать в actionscript 2.0 и как правильно сделать объект для дублирования
Сделать выбор между двумя нетбуками по одной цене, но с разными преимуществами Как сделать,у меня сервер обычная XP,как мне правильно сделать так,что бы некоторые компы отрезать от инета,но не от базы данных(К+ и 1С и т.п) OpenFileDialog1 - Как убрать выбор директории, сделать её по умолчанию одну пример "C://cjkdsofj.sys" это выбор файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|