C/C++ Ready | Программирование
13.4K subscribers
873 photos
49 videos
391 links
Авторский канал по разработке на C и C++.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Заявление в РКН: № 6188956972

Реклама на бирже: https://telega.in/c/cpp_ready
Download Telegram
Constexpr-хеширование FNV-1a: делаем switch по строкам!

Нужен быстрый switch без std::string_view сравнений?

Возьмём FNV-1a-хеш, который считается на этапе компиляции:
// 32-битный constexpr-хеш FNV-1a
constexpr uint32_t fnv1a(char const* s, uint32_t h = 0x811c9dc5) {
return *s ? fnv1a(s + 1, (h ^ uint8_t(*s)) * 0x01000193) : h;
}
#define H(str) fnv1a(str)


Теперь можно «переключаться» по строкам так же быстро, как по int:
void handle(std::string_view cmd) {
switch (fnv1a(cmd.data())) {
case H("start"): /* … */ break;
case H("stop"): /* … */ break;
case H("status"): /* … */ break;
default: /* ? */ break;
}}


🔥 Любые литеральные строки превращаются в константы, а сам switch — чистый O(1) без сравнений символов.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍7🔥4
🔥49😁13👍42
Совет на 2025 год — переходите на Go.

На Go собирают банки, маркетплейсы и highload-сервисы. Зарплаты мидлов начинаются от 200 000 ₽, а у сеньоров доходят до 600 000 ₽.

А чтобы освоить его всего за 3 месяца — изучите канал Максима Аверина.

Его бэкграунд: Senior Golang/Python (X5, Lamoda, BestDoctor), 7 лет в бэкенде, экс-тимлид и PM, 300+ собеседований с 2018

На канале вы найдёте:

Советы, которые в разы повысят ваши шансы на перекат в Go

— Как легко выбивать себе ту ЗП, которую желаете: скрипты переговоров и шаблоны писем

— Как сделать мощный проект с code-review и уже через три недели пойти на собесы.

Огромный опыт, который ты можешь перенять абсолютно бесплатно. Переходи и изучай: @maksim_golang
👎19😁5
👩‍💻 Разбираемся с fmt — современное форматирование строк!

Позволяет печатать данные понятно, кратко и безопасно — как в Python, но в C++.

Что важно знать:

Проверка формата сразу;

Очень лёгкая сборка;

Быстрее потоков вывода.


Подходит для CLI, логов и UI — в любом проекте станет читаемым и стабильным.

📣 C++ Ready | #библиотека
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍43