The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Утверждён стандарт C++20"
Отправлено draw1, 08-Сен-20 04:06 
> Хорошо продуманная абстракция как раз наоборот упрощает дизайн кода. Как пример обычная
> операция над объектом:
> //в C++
> obj.func(arg1, arg2);
> //в C
> objType_func(ptr_to_obg, arg1, arg2);

Написать короче, да. Выглядит красивей.
Вот только читая такой код ты сначала должен посмотреть что такое obj, просмотреть иерархию наследования, посмотреть все вариации func со всеми типами аргументов, посмотреть какой тип у аргументов, пройти по их иерархии наследования, попарить мозг если это какой-нибудь шаблон хитровывернутый ...и это только для того чтоб точно понять с чем именно идёт работа в данном конкретном месте - то есть это только подготовительный этап к чтению содержимого.

В Си-шном варианте, хоть и более многословном, но по прототипу функции уже сразу понятно на что надо смотреть. Да, писать больше, а с вариациями аргументов и структур - намного больше (но это ж как раз про дизайн, чтоб с самого начала не плодить лишнего "just because we can").

Более классический пример:

y = x + 5;

В Си-шном коде можно вообще никуда не смотреть - сразу понятно, в целом, что происходит.
Эта же строчка на плюсах может быть вообще чем угодно (хорошо хоть пятёрка пока не может быть переопределена). Для написания - это может быть большим достоинством (краткость, единообразие, красивость и всё такое), но для чтения/понимания...

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру