Обновить
10

Пользователь

7
Подписчики
Отправить сообщение

У тебя и здесь проблемы с UX. Добавь тексты отзывов к скриншотам. Их тяжело читать на мобильнике: очень мелкий текст, и, при увеличении картинки, очень широкие строки уходят далеко за экран.

Кто знает, дня чего выносили торбо-реактивные двигатели так сильно вперёд крыла, почему не размещали их под крылом хотя бы частично? Неужели, всё только ради обслуживания.

cppreference.com блокируют. Он им чем не угодил?

cppreference.net пока работает, но поисковики всегда выдают .com.

smolbuf - Автор, ты откуда?

"примерно так" - на самом деле вообще не так.

Посмотрел на парочку карточек, что-то мне они совсем не понравились.

congestion costs

экономические издержки пробок

Здесь дословный перевод правильнее: издержки (от) заторов.

vehicle congestion

перегруженность автомобильным движением

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

transit connections

связи с общественным транспортом

Транзитные/транспортные соединения/связи.

traffic-clogged corridors

перегруженные транспортные коридоры

Здравствуйте, ложные друзья переводчика! По русски "перегруженные направления".

И что писать в result , если произошла ошибка? Опять какое-нибудь optional. И чем, тогда, это лучше простого expected? С ним ты точно так же можешь сделать, если ошибка или её часть - enum.

Да, я там не прав, но ты ищешь, где придраться, когда как тот шаблон нифига не explicit. И ещё, если он был бы explicit , он не был бы отброшен после точного соответствия в пользу приведения типов аргументов, была бы ошибка компиляции. Так что это ещё одна ложь, галлюцинация ИИ: Он отбрасывает правильный конструктор (It first, End last)

Это называется послал. Нахрен здесь ссылка на 164 репозитория. Иди в анус и возвращайся оттуда с демо-кодом. А так, это было похоже на попытку натравить ИИ на проект и написать статью на основе его галлюцинации с целью обосрать C++.

Когда у оппонента нет аргументов, он переходит на личности. Не говори, что мне читать, а я не скажу, куда тебе пойти.

У тебя логическая ошибка уже на первом шаге, а ты докопался до второго. Так что давай минимальный пример с #include и main(), а не кусочки кода.

Не воспроизводится. Не можешь угомониться? Ты бы хоть проверил текст ИИ, которого ты принуждаешь согласиться с тобой.

a.begin() - всё ещё 'std::basic_string_view::const_iterator' {aka 'const char*'} .

Так же first - это const char* .

Он отбрасывает правильный конструктор (It first, End last), потому что тот помечен как explicit

Хватит врать! Нет там explicit. Ты хоть знаешь для чего он? Он не имеет смысла для конструктора с двумя параметрами.

а фигурные скобки запрещают явные конструкторы

Какой-то бред.

В блоке кода можно указать язык

Не указан - нет раскраски
Не указан - нет раскраски
Указан - есть раскраска
Указан - есть раскраска

Дополню. Вообще, если статья была бы правдой, то неверный результат возник бы раньше, а не после добавления "/com/swtSyst". Возник бы вопрос, почему не приходят события "fan/tach".

Расходимся! Это очередной высер, чтобы поднасрать С++.

std::ranges::mismatch(a, b) намекает на C++20 или новее, а в нём есть конструктор (5)

template< class It, class End >
constexpr basic_string_view( It first, End last );

И простой тест показывает правильный результат "/"

#include <iostream>
#include <ranges>
#include <string_view>

constexpr std::string_view commonPrefixOfTwo(std::string_view a,
                                             std::string_view b) {
  auto [first, last] = std::ranges::mismatch(a, b);
  return {a.begin(), first};  // Запомните эту строчку!
}

int main() {
  constexpr auto common =
      commonPrefixOfTwo("/xyz/openbmc_project/sensors/", "/com/swtSyst");
  std::cout << common << "\n";
}


Да и в С++17 без ranges это бы не скомпилировалось. Потому что никаких неявных преобразований const char* в size_t не происходит!

error: no matching constructor for initialization of 'std::string_view' (aka 'basic_string_view<char>')
    note: candidate constructor not viable: no known conversion from 'const char *const' to 'size_type' (aka 'unsigned long') for 2nd argument; dereference the argument with *

Код AnyProcessor::Model становится немного короче если использовать часто незаслуженно забываемое множественное наследование:

  template <typename Processor>
  struct Model final : Concept, Processor {
    explicit Model(Processor&& processor) : Processor(std::move(processor)) {}

    void process(double value) override { Processor::process(value); }
  };

@matweu Почему не указываешь язык в блоках кода?

<...> после std::move объект находится в валидном, но неопределённом состоянии. <...>

Для std::string обычно это пустая строка.

Вообще это ни сколько не обычно. Автор упускает из виду оптимизацию коротких строк.

Да почини уже код. Из-за своих многоточий не видишь ошибок.

Всё ещё инвалидный код после правки.

Многоточия только засоряют код. Это так важно показать, что что-то ещё там может быть?

using OpVariant = std::variant<AddOp, MulOp, XorOp>;
    std::vector<OpVariant> data;
...
        if (i % 3 == 0) data.push_back(std::make_unique<AddOp>());
        else if (i % 3 == 1) data.push_back(std::make_unique<MulOp>());
        else data.push_back(std::make_unique<XorOp>());

против:

using OpVariant = std::variant<AddOp, MulOp, XorOp>;
    std::vector<OpVariant> data;
...
        if (i % 3 == 0) data.push_back(std::make_unique<AddOp>());
        else if (i % 3 == 1) data.push_back(std::make_unique<MulOp>());
        else data.push_back(std::make_unique<XorOp>());

Автор - писатель, а не читатель. Вычитка где? В чём разница этих одинаковых инвалидных блоков? И в чём состоит сакральный смысл многоточий?

Самсунг - унылое г. Купил их sd с 10-летней гарантией, так она сдохла через 2 года.

изучение основ C/C++

Это что за язык программирования такой?

Вычитывать пост следует до публикации, чтобы абзацы не повторялись.

1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность