Перейти к содержанию
    

Почему для GCC следующий код в полном порядке?

Да и ладно, можно не продолжать. Это воспоминания с предыдущей работы. Там в коде С++ задействовали все, что смогли в каком-то парсере сетевых пакетов, и наследование и виртуальные методы и переопределили операторы. И вот оно упало в одном месте на операции (). Есть дамп стека и исходник который я впервые видел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, dxp сказал:

Когда вы встречаете это:

вы либо в теме вопроса, либо не в теме. Если много раз занимались работой с графикой, то понимаете, из чего строится линия. Если же увидели это в первый раз, то достаточно заглянуть в описание самой функции. Тем более, что doxygen придуман давно и стал фактически стандартом документирования.

С другой стороны, при модели "нада уже вчера", чем быстрее вы напишите код, тем быстрее вы выполните задачу. А расписывать все эти длинные имена через точки и скобочки - это трата времени. Неужели вы никогда на писали коммерческих проектов? 

1 час назад, dxp сказал:

вопросов скорее всего не вызовет,

col(0)

У меня сразу же вопрос - что такое col? Column, Color? А (0) - это что, в каком формате? Если color, тогда в каком формате - RGB565, RGB888, ARGB8888, монохром, грэйскейл? Коль уж писать, то пишите до конца, всё полностью, каждый элеммент.
Когда надоест это всё писать, откроете для себя goxygen, хахаха 😄 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 часов назад, jcxz сказал:

И приведите пожалуйста пример передачи "в регистрах" структуры с тремя членами? Код и листинг в студию просим!

да координаты 2д/3Д нередко структурой передаю, просто потомушта они как правило в структурах и лежат уже.  еще диапазоны - нередко таскаются по нескольким функциям вложеными вызовами. Еще даты/время - встречал монстрячее апи когда вся дата/время или даже все вместе пачкой параметров передается - вот не понимаю этого. 

Изменено пользователем AlexRayne

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, EdgeAligned сказал:

У меня сразу же вопрос - что такое col? Column, Color? А (0) - это что, в каком формате? Если color, тогда в каком формате - RGB565, RGB888, ARGB8888, монохром, грэйскейл? Коль уж писать, то пишите до конца, всё полностью, каждый элеммент.

Отвечу вам первый и, возможно, последний раз.

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

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

 

12 часов назад, EdgeAligned сказал:

Когда надоест это всё писать, откроете для себя goxygen, хахаха 😄 

Не встречал ничего более уродливого и бесполезного, чем doxygen. Загажнные мусором исходники, бестолковое, ничего не объясняющее описание, информативность которого даже ниже нормально написанного (самодкументированного) кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, это на ваш взгляд. Можете оставаться при нем, спорить не буду, мне все равно. Равно как и вы меня тоже не переубедите. Говоря вашими же словами, я не встречал ничего более уродливого, чем пяьиэкранные портянки текста без единого коммента, когда из текста проги не видно явным образом, что и для чего там предназначено. Краткое описание портянки кода позволяет определить, что это вообще такое и каковы условия использования. И если вам нужно прочесть целиком всю портянки, вы конечно вольны её читать от и до. Но ничего "более уродливого" не приходилось видеть. 

Уметь написать краткий коммент, передающий суть на человеческом языке - это тоже искусство, особый, так сказать, дар. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Просто учитесь видеть шире, не закисая в своём болоте. Программист будет успешен, когда будет видеть разные варианты. Этим и отличается Разработчик от кодописателя. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/10/2023 at 5:14 PM, dxp said:

Реализация тривиальная -- один раз посмотрел и дальше можно не гадать

а в С-м варианте сколько раз вам надо посмотреть прототип line чтобы понять что сначала координаты начала у прямой ? паровозики вызовов в С++ это какой-то мозгоклюй

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, sasamy сказал:

а в С-м варианте сколько раз вам надо посмотреть прототип line чтобы понять что сначала координаты начала у прямой ?

Каждый раз после паузы. Или отвлечения на другие части проекта.

1 час назад, sasamy сказал:

паровозики вызовов в С++ это какой-то мозгоклюй

И не говорите. Вообще этот С++ -- понапридумывали какой-то фигни: какие-то классы с сокрытием представления, мутная перегрузка функций и операторов -- никогда не знаешь, что там вызывается на самом деле, шаблоны -- это вообще тихий ужос, особенно в руках извращенцев из Boost'а и комитета по стандарту языка. Не зря Линус его не любит и запретил. То ли дело С!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/11/2023 at 5:38 PM, dxp said:

Каждый раз после паузы.

ну это сказки, иначе не поверю что вам ещё азбуку каждый раз не надо учить

On 12/11/2023 at 5:38 PM, dxp said:

Вообще этот С++ -- понапридумывали какой-то фигни

так и есть - применяется очень редко потому что небезопасен как С и переусложнён

On 12/11/2023 at 5:38 PM, dxp said:

Не зря Линус его не любит и запретил. То ли дело С!

то ли дело Rust

https://www.kernel.org/doc/html/next/rust/index.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/11/2023 at 6:45 PM, dxp said:

А ешё Go, Kotlin и много других страшных слов. 

С++ заменяют при любой возможности его не использовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто заменяет? И что -- таки она существует -- невозможность его заменить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 minutes ago, sasamy said:

С++ заменяют при любой возможности его не использовать

Шта???? Опять??? 2023 год заканчивается. Неужели осталось ещё место для войн в стиле vs.?

Ну, а если по сути, то где и кто заменяет Си++? На что и какими регламентами руководствуются?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/11/2023 at 7:02 PM, dxp said:

Кто заменяет?

упоминали Go и Kotlin - много вы видели вэбни или мобильных приложений на С++ ?

 

On 12/11/2023 at 7:02 PM, dxp said:

таки она существует -- невозможность его заменить?

зависит от ситуации скорей - где-то где работает и не трогай - там нет возможности, новый код пишут на новых языках

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, sasamy сказал:

упоминали Go и Kotlin - много вы видели вэбни или мобильных приложений на С++ ?

а на Rust?

1 минуту назад, sasamy сказал:

зависит от ситуации скорей - где-то где работает и не трогай 

А что на С не пишут? Где подходит С++, там подходит и С. 

2 минуты назад, sasamy сказал:

новый код пишут на новых языках

А может новые языки кое-где таки не тянут по производительности и накладным? А в С++ зачем-то активно новые фичи впиливают. Приближая его про уровню удобства использования к языкам высокого уровня при сохранении эффективности на уровне С.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...