Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Гайд Modern C++ в геймхакинге: почему ваши пасты выглядят как дерьмо

А ты нам еще про разницу между mutex и atomic расскажи. Мы вообще ахуеем :da:

Пора тему в раздел "Юмор" переносить.
мутекс для больших данных и своих структур, атомики для типов типа булок и интов и т д, суть одна но разница в том что мутекс network multiplayer lock а атомики single player lock ну ты понял, мутекс для всего со всеми а атомик для одного
 
мутекс для больших данных и своих структур, атомики для типов типа булок и интов и т д, суть одна но разница в том что мутекс network multiplayer lock а атомики single player lock ну ты понял, мутекс для всего со всеми а атомик для одного
пу-пу-пу, факапа от тебя не ожидал, особенно бред про эти локи)))

мьютекс - примитив синхронизации для потоков
атомики - атомарные операции

буквально единственное что их объединяет - это тот факт, что и то, и другое используется для того, чтобы данные гонять между потоками

что блять вообще означает "network multiplayer lock" и "single player lock"

ну и про то, что у атомиков есть смешная штука в виде memory ordering я рассказывать не буду, а то как-то нечестно получится
 
бред все это, я для оптимизации кастомный бул например использую

C++:
Expand Collapse Copy
bool get_bool(bool value) {
  if (value == true)
    return true;
  else if (value == false)
    return false;
}
 
бред все это, я для оптимизации кастомный бул например использую

C++:
Expand Collapse Copy
bool get_bool(bool value) {
  if (value == true)
    return true;
  else if (value == false)
    return false;
}
забыл одну фишку
C++:
Expand Collapse Copy
enum Boolean_t {
 
  FALSE,
  TRUE,
  MAYBE

};
 
что блять вообще означает "network multiplayer lock" и "single player lock"
это когда много данных и когда одна переменная суть не меняет ...
мы с тобой на разных языках говорим, люди разные, каждый понимает по своему, суть то всё равно одна хоть капутексом назови всё равно он блокирует множество данных для определённых целей
 
Последнее редактирование:

3. std::variant: Замена кривым Union​

Если вам нужно хранить в конфиге значение, которое может быть либо int, либо float, либо bool, забудьте про void* или небезопасные union.

std::variant - это типобезопасный союз. Он знает, какой тип данных в нем лежит в данный момент, и не даст вам выстрелить себе в ногу.
в экзэмплах пишешь auto, а здесь его не упоминаешь почему то

5. Списки сущностей и итераторы (C++20 ranges)​

Хватит писать циклы for (int i = 0; i < 64; i++). Это выглядит жалко. Используйте ranged-based for или, если вы совсем крутой, C++20 Ranges.
for (auto& entity : entity_list) { if (!entity.is_alive()) continue; // ... }
Это читается как человеческий язык, а не как код для микроволновки.
это не всегда работает из за auto
 
Назад
Сверху Снизу