|
6222 / 2922 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
|
||||||||||||||||
std::all_of, std::any_of, std::none_of07.06.2024, 19:21. Показов 1179. Ответов 19
Метки нет (Все метки)
Хочу проверить, что не все символы в строке цифры.
можно проверить так:
Это можно сделать так:
Т.е. как сделать отрицание для UnaryPred p?*** - std::strtol, std::strtoll не предлагать - обычный цикл не предлагать
0
|
||||||||||||||||
| 07.06.2024, 19:21 | |
|
Ответы с готовыми решениями:
19
Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream
ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri |
|
Вездепух
12943 / 6810 / 1821
Регистрация: 18.10.2014
Сообщений: 17,234
|
||
| 07.06.2024, 19:33 | ||
Сообщение было отмечено Royal_X как решение
Решениеstd::unary_negate std::not1 https://en.cppreference.com/w/... ional/not1 Но трудно сказать, "лучше" ли это просто явной лямбды...
1
|
||
|
6222 / 2922 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
|
|
| 07.06.2024, 19:45 [ТС] | |
|
TheCalligrapher, еще и <functional> нужно подключать. Значит, оставлю лямбду.
А вообще, может быть обычный цикл оставлю. Не понимаю, в чем преимущество std::all_of, std::any_of, std::none_of ? Ну кроме ExecutionPolicy, который я не собираюсь использовать. Мне просто cppcheck порекомендовал))
0
|
|
|
Вездепух
12943 / 6810 / 1821
Регистрация: 18.10.2014
Сообщений: 17,234
|
||
| 07.06.2024, 19:50 | ||
|
0
|
||
|
6222 / 2922 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
|
|
| 07.06.2024, 19:50 [ТС] | |
|
TheCalligrapher, я тут посмотрел, что в своем коде (наверное, вы поняли, что речь идет о библиотеке для работы с длинными целыми числами, вопросами о которой я захламил форум) я использую 3 заголовка
#include <string> #include <algorithm> #include <cctype> думаю, что можно избавиться от двух последних. algorithm использую для реверса строки std::reverse, а cctype для isdigit. Строку можно реверснуть и другими способами, а isdigit я свой напишу.
0
|
|
|
Вездепух
12943 / 6810 / 1821
Регистрация: 18.10.2014
Сообщений: 17,234
|
|
| 07.06.2024, 19:50 | |
|
0
|
|
|
6222 / 2922 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
|
|
| 07.06.2024, 19:52 [ТС] | |
|
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 07.06.2024, 19:54 | |
|
1
|
|
|
6222 / 2922 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
|
|
| 07.06.2024, 19:56 [ТС] | |
|
DrOffset, я просто подумал, что если потом создам статическую библиотеку, то чем больше заголовков я буду использовать, то тем набухнет размер.
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 07.06.2024, 19:58 | |
|
Royal_X, что не используется, то код не раздувает.
Разве что кроме iostreams. Из-за глобальных переменных cin/cout/cerr.
0
|
|
|
6222 / 2922 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
|
||
| 07.06.2024, 19:59 [ТС] | ||
|
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||
| 07.06.2024, 20:02 | ||
|
Ну хочешь - пиши. Все через это проходят, я ж говорю. Переболеешь, потом.
1
|
||
|
6222 / 2922 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
|
||
| 07.06.2024, 20:05 [ТС] | ||
|
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 07.06.2024, 20:17 | |
|
Royal_X, опытные тебе говорят, что читаемость важнее
![]() Кроме того, опытные скажут, что использование проверенных функций с известным контрактом лучше (с точки зрения предсказания всех ситуаций, в том числе потери производительности и т.д.), чем велосипеды. Добавлено через 8 минут Royal_X, добавлю, Допустим, ты написал код на стандартных средствах, потом написал к нему тесты. Все проверил, все работает. Но, допустим, оказалось медленно. Дальше у тебя очень мало работы осталось. Сложность стандартных функций известна, поведение и ограничения их известны. Попрофилировал код, выявил слабое место и точечно завелосипедил место замедления. Коммент написал. Все, проблема решена, прогнал по-новой тесты, все ок. А если весь код - это велосипед - даже не понятно что трогать нужно, как повлияет замена того или другого элемента алгоритма - фиг знает. Все надо каждый раз с нуля проверять. Еще и баги в велосипедах бывают, которые сразу не видно.
1
|
|
|
6222 / 2922 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
|
||
| 07.06.2024, 20:33 [ТС] | ||
|
DrOffset, тогда может убрать isdigit и использовать strtol? TheCalligrapher вроде вчера писал, что этой функцией можно проверять даже длинные строки. Мне нужно проверить только, не нужно конвертировать в long.
Добавлено через 12 минут DrOffset, а не, strtol не подходит данная функция считает нормальной числовой строкой следующие варианты "00000001" -> когда нули перед числом "1hffghj" -> т.е. когда мусор после числа это мне не подходит
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 07.06.2024, 20:42 | |
|
Royal_X, мусор после числа ей можно же обработать. Анализируешь указатель после работы функции. А вот ведущие нули - да.
0
|
|
|
Вездепух
12943 / 6810 / 1821
Регистрация: 18.10.2014
Сообщений: 17,234
|
||
| 07.06.2024, 20:48 | ||
|
"Само сконвертированное значение в задаче проверки формата никакой роли не играет. Неважно, что функция вернет. Проверка формата делается исключительно на основе анализа финального указателя (второй параметр) после вызова функции" Как проверить является ли строковая переменная числом?
0
|
||
|
6222 / 2922 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
|
||
| 07.06.2024, 21:02 [ТС] | ||
|
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 07.06.2024, 22:13 | |||
Deprecated in C++11 and removed in C++17 Deprecated in C++17 and removed in C++20 выглядит не очень ...
0
|
|||
|
Неэпический
|
|
| 07.06.2024, 23:22 | |
|
SmallEvil, std::not_fn?
0
|
|
| 07.06.2024, 23:22 | |
|
Помогаю со студенческими работами здесь
20
STL std::set, std::pair, std::make_pair
std::shared_ptr и std::dynamic_pointer_cast, std::static_pointer_cast и т.д
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|