Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
1969 / 825 / 115
Регистрация: 01.10.2012
Сообщений: 4,935
Записей в блоге: 2

Написать современно

06.11.2025, 13:50. Показов 13435. Ответов 154
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день

Есть такой фрагмент

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const char * singleC = strstr(src, "//");
const char * multiC = strstr(src, "/*");
const char * eol = strstr(src, "\n");
 
const char * min = nullptr;
if (singleC) min = singleC;
if (multiC && (!min || (multiC < min))) min = multiC;
if (eol && (!min || (eol < min))) min = eol;
 
if (!min) return;
 
if (min == singleC) {
 ...
}
 
if (min == multiC) {
 ...
}
 
if (min == eol) {
 ...
}
Бросается в глаза что код примитивный (тупой, убогий, говнокод и.т.п. - как хотите). Кроме того, его можно существенно ускорить.

Хорошо, как написать грамотно, современно? И заодно универсально, чтобы работал не только с char*

Спасибо
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2025, 13:50
Ответы с готовыми решениями:

Каковы современные решения написания программ?
Уже пол года как изучаю с++. За это время решил не мало задачек и перечитал литературы. Писал все...

Как создают современные компьютерные игры?
Интересно, как создают современные компьютерные игры?? То есть на каком языке программирования?? Я...

Современный интерфейс в C++ Builder
Что используют программисты для создания современного интерфейса в C++ Builder XE4? Ведь сейчас,...

154
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6222 / 2923 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
16.11.2025, 13:33
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DrOffset Посмотреть сообщение
будет содержать подвисший указатель
полагаю, у меня тоже было так же в истории, описанной в Написать современно
0
Покинул чат.
1132 / 727 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
16.11.2025, 14:34
Royal_X, по-моему очень похоже на ваше описание, - я посмотрел исходник - конечно, время жизни не продлевается, как я с дурного ума затупил, и ТС в отношении именно этого нюанса прав.
C++
1
2
3
4
5
6
7
    template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
    class basic_string_view
    {
      ...
      size_t        _M_len;
      const _CharT* _M_str;
    };
0
16.11.2025, 15:35

Не по теме:

фух,
ну наконец-то сишкошкодеры через 8 лет узнали про std::string_view,
и теперь у них появятся современные кресты.
:лол.

0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6222 / 2923 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
16.11.2025, 16:09
Цитата Сообщение от XLAT Посмотреть сообщение
ну наконец-то сишкошкодеры через 8 лет узнали про std::string_view,
и теперь у них появятся современные кресты.
отправил код https://github.com/BDOTimer/Sa... oFilya.cpp , написанный XLAT, в DeepSeek и спросил:

Определи по коду на С++ стиль программиста - он сишник или все-таки программист, который пишет на современном С++?
И вот, что ИИ мне ответил:

Анализируя представленный код, я вижу ярко выраженный сишный стиль с элементами С++, но без использования современных идиом С++.
Вердикт: Это программист с сишным бэкграундом, который перешел на С++, но продолжает писать в сишном стиле, используя С++ как "C с классами". Код написан до стандарта C++11 и не использует современные идиомы языка.
Конечно, код написан 6 лет назад. Но, ведь, этот товарищ писал про "8 лет". К тому же, его стиль не изменился. И дальше пишет в таком стиле... ЛОЛ

Почему ты видишь соринку в глазу брата твоего, но не замечаешь бревна в своём глазу? Как ты смеешь сказать своему брату: „Брат, дай я выну соринку, которая в твоём глазу”, не видя у себя в глазу бревна. Лицемер, прежде всего, вынь бревно из своего глаза, и тогда увидишь, как вынуть соринку из глаза твоего брата».

От Луки 6:41-42
Вложения
Тип файла: zip video.zip (15.92 Мб, 0 просмотров)
1
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,082
Записей в блоге: 3
16.11.2025, 16:47
Цитата Сообщение от Royal_X Посмотреть сообщение
И вот, что ИИ мне ответил:
теперь ты понимаешь, насколько моё мнение о сишкошкодерстве авторитетно -
я смотрю на вас всех - лютых сишкошкодеров, изнутри))
0
16.11.2025, 16:52

Не по теме:

Цитата Сообщение от XLAT Посмотреть сообщение
теперь ты понимаешь
понимаю, что у тебя какие-то комплексы... будучи сишкодером, ты из-за этого сильно переживаешь и злишься, поэтому других тоже называешь сишкодерами. Возможно, я не прав, но это мое единственное объяснение, почему ты постоянно всех называешь сишкодерами и делаешь это с иронией.
Я вообще тут никаких проблем не вижу. Ну любишь ты или кто-то другой использовать С-стиль - пиши в этом стиле, в чем проблема?
Наоборот, когда я вижу сишкодера, то сразу полагаю, что это кто-то опытный, возможно, из старой олдскульной школы программистов, которые писали на ассемблере, потом на С.

0
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,082
Записей в блоге: 3
16.11.2025, 17:13
Цитата Сообщение от Royal_X Посмотреть сообщение
и злишься,
нет - мне смешно.

люди сидят тут уже по боля 10 лет и до сих пор не ведают, как пример, про концепт "области видимости переменных"!

почему не ведают?
потому что у них горизонтальное сишкошдерство:
переменная созданная где-нить в функции у них должна жить во всех местах их программы :лол

а почему тебе не смешно с этого, как мне???

потому что ты сишкошкодер!

ты придешь сюда в 2035 году и будешь опять и снова обсуждать опасность и вредность std::string_view,
разумеется, опираясь на свой горький опыт))

Royal_X, пишу тя и плакать прямо хочется :лол
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6222 / 2923 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
16.11.2025, 17:17
Цитата Сообщение от XLAT Посмотреть сообщение
а почему тебе не смешно с этого, как мне???
потому что ты сишкшкодер!
снова у тебя не так с логикой. Если мне не смешно, поскольку я сишкодер, тогда, почему тебе смешно, если ты тоже сишкодер (и это не только моё мнение или DeepSeek, но ты сам признавался на этом форуме, что ты сишкодер).
Цитата Сообщение от XLAT Посмотреть сообщение
обсуждать опасность и вредность std::string_view
"опасно" в моем понимании это когда взорвется мой компьютер и я получу ранения))) а что мне сделает корявая программа, максимум промяукает и заглючит)
0
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,082
Записей в блоге: 3
16.11.2025, 17:20
Цитата Сообщение от Royal_X Посмотреть сообщение
тогда, почему тебе смешно
дык, рефлексия - я сознаю - я борюсь со своим сишкошкодерством в меру своих сил.

а ты нет, вот и разница, почему тя не смешно и у тя такой серьезный фейс с текущей по этому фейсу памятью)))
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6222 / 2923 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
16.11.2025, 17:23
Цитата Сообщение от XLAT Посмотреть сообщение
я борюсь со своим сишкошкодерством в меру своих сил
а может не нужно бороться? эта твоя борьба с ветряными мельницами прям чувствуется у тебя в кодах. Даже ИИ написал "С с классами". Тянешь повсюду ООП, заливая сишным соусом. Стиль кода - для меня вообще второстепенно.
1
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,082
Записей в блоге: 3
16.11.2025, 17:30
Цитата Сообщение от Royal_X Посмотреть сообщение
Стиль кода - для меня вообще второстепенно.
и это правильно, потому что ты кодер-одиночка.

не нужен тебе стиль совсем от слова совсем.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6222 / 2923 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
16.11.2025, 17:35
XLAT, в этом ты прав. Я пишу один, для себя в качестве хобби, и у меня нет начальника.
Но разве у тебя иначе? Точно так же и у тебя. Даже монополию ты писал один, хотя, изначально там был ещё кто-то другой.
Наверное, я единственный, кто пытался реально понять твои коды. И это было, когда я хотел понять, что за значения ивентов выводит твой движок для сапера. Ты спал, а я GUI делал)
0
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,082
Записей в блоге: 3
16.11.2025, 17:41
Цитата Сообщение от Royal_X Посмотреть сообщение
Но разве у тебя иначе?
нет, у меня иначе,
мои проекты по скромным прикидкам на >1000 человеко-лет,
поэтому мне сишкошкодерство просто не подходит технологически.

у тя всё просто: утром проект начал - вечером закончил - 500 строк написал и готово - дело сделал - можно и похвастать...

у меня не так - мой прожект длинный, а жизнь моя короткая)
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6222 / 2923 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
16.11.2025, 17:47
XLAT, я не про проекты писал. Хотя, у тебя тоже не карбюраторы для боингов, такие же мелкие игры, приложения.
Я имел в виду, что ты тоже кодер-одиночка, хоббист и без начальства. Волен реализовать любое извращение, хоть ассемблерные вставки, хоть сишные вещи, или даже стихи в комментариях.
Цитата Сообщение от XLAT
а жизнь моя короткая
И поэтому ты стал больше времени проводить в холливаре "Верите ли вы в Бога"?
0
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,082
Записей в блоге: 3
16.11.2025, 17:59
Цитата Сообщение от Royal_X Посмотреть сообщение
И поэтому ты стал больше времени проводить в холливаре "Верите ли вы в Бога"?
ты не поверишь, именно там находится ответ, почему ты кодер-одиночка...

Code
1
"Люди не могут объединиться, чтобы построить Вавилонскую башню, потому что они дебилы."(Э.Айнштайн)
... в итоге, удел одиночек это кодить всю свою жизнь пузырьковую сортировку ...
0
1969 / 825 / 115
Регистрация: 01.10.2012
Сообщений: 4,935
Записей в блоге: 2
16.11.2025, 18:03  [ТС]

Не по теме:

Цитата Сообщение от DrOffset Посмотреть сообщение
Временный объект std::string уничтожится в конце выражения
Дело темное. Лазая в отладчике не раз замечал что уничтожение происходит позже. Но в принципе это ничего не меняет - точно уничтожится, ссылаться нельзя


Не по теме:

Цитата Сообщение от Royal_X Посмотреть сообщение
полагаю, у меня тоже было так же
Вполне возможно, баг мерзкий, легко просмотреть. В связи с этим такой вопросик: а почему это не пресекается? Ведь такая возможность есть, псевдокод
C++
1
void std::string_view::operator = ( std::string && ) = delete;


Цитата Сообщение от Royal_X Посмотреть сообщение
ИИ мне ответил:
И что, этому обязательно (безоговорочно) верить?
Цитата Сообщение от Royal_X Посмотреть сообщение
используя С++ как "C с классами". Код написан до стандарта C++11 и не использует современные идиомы языка.
Не раз слышал это обвинение (C с классами) в свой адрес, но никогда не понимал что в этом плохого? И в чем же заключаются "современные идиомы языка"? Никогда не видел/слышал хоть сколько-нибудь убедительного пояснения (часто типа "ООП - отстой, ФП - вышак"). Народ понимает это просто/незатейливо: надо совать std:: во все возможные места, ото и все "идиомы". Нужно ли это, лучше ли - значения не имеет. Напр std::foreach, std::copy, std::transform и.т.п. - часто без всякого ущерба делаются простецким циклом "for". Согласен (я же не старый ретроград), иногда (не всегда) новшества смотрятся "приятнее", но и только, на "идиомы" это никак не тянет.

Вот и в данной теме ничего принципиально нового/современного (пока) не увидел.
Цитата Сообщение от XLAT Посмотреть сообщение
фух,
ну наконец-то сишкошкодеры через 8 лет узнали про std::string_view,
и теперь у них появятся современные кресты.
:лол.
А много ли счастья от того std::string_view? Тот же char*, только часто хуже. Никакой "современности" в нем нет
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6222 / 2923 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
16.11.2025, 18:05
XLAT, Джек Ма тоже рассказывал, что сам он не понимает ничего ни в какой области, а разбогател он потому, что смог собрать умных и заставил их работать вместе.
Просто когда нужно писать совместно, программисты не могут сами объединиться, обязательно нужен "начальник с плетью", чтобы контролировать процесс. У ученых аналогично. Оппенгеймер это посредственный учёный, но хороший руководитель. Смог объединить разношерстных физиков.
0
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
16.11.2025, 18:06
Цитата Сообщение от Royal_X Посмотреть сообщение
поэтому других тоже называешь сишкодерами
Ну ты возьми и тоже всех так называй, в чём проблема-то?
Цитата Сообщение от Royal_X Посмотреть сообщение
Даже ИИ написал
ИИ зачастую пишут жуткую шляпу; как-то уж очень быстро люди падают в их объятия.

Цитата Сообщение от Royal_X Посмотреть сообщение
не карбюраторы для боингов
Да дело-то не в боингах. Кресты непрерывно развиваются, добавляются удобные штуки, ну а как их узнать и запомнить, если не использовать?

В конце концов, это всё просто небезынтересно.
Миниатюры
Написать современно  
1
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
16.11.2025, 18:13
Цитата Сообщение от Igor3D Посмотреть сообщение
А много ли счастья от того std::string_view? Тот же char*, только часто хуже. Никакой "современности" в нем нет
std::string_view - офигенная штука.

Добавлено через 33 секунды
Цитата Сообщение от Igor3D Посмотреть сообщение
Тот же char*
Вообще мимо
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6222 / 2923 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
16.11.2025, 18:13
Цитата Сообщение от Igor3D Посмотреть сообщение
std::transform и.т.п. - часто без всякого ущерба делаются простецким циклом "for"
а вот как раз и нет. На этом форуме была тема, и там предлагали разные решения, но вот transform просто уделал все остальные, в том числе велосипед на for. Если интересно, могу найти эту тему
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2025, 18:13
Помогаю со студенческими работами здесь

Нормальная, современная книга по C++ с ООП уклоном
Так вышло что изучаю параллельно два языка Java и C++ ну вот жизть так сложилась нужно писать и там...

А.Александреску - Современное проектирование на C++
Собственно вопрос не совсем по программированию :) Хочу купить бумажный вариант, но смущает, что...

Современный интерфейс в C++ Builder / C++ Builder
Что используют программисты для создания современного интерфейса в C++ Builder 6? Ведь сейчас,...

Каков современный подход для работы со строками
Здравствуйте, хотел узнать современный подход для работы со строками. В С++ так же используется...

Концепция ООП и их использование в современных языках программирования
Дали курсовую на эту тему. Подскажите, какую литературу, которую можно бы было использовать пр ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru