Гайд Груг объяснить ошибка

Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,595
Реакции[?]
603
Поинты[?]
44K
здравствуй житель форум красный. я груг
груг пытаться обьяснить как пользоваться си плюс плюс
груг не самый лучший кодер на земной диск но груг считал себя неплох. груг учить.

чего груг не любить

макро

груг не любить волшебные макро. макро-шаман может тебя заинтересовать меньше писать но груг осторожен. груг не использовать советы макро-шамана (особенно в header файле) потому что они вносят ненужные символы при сборе чит. не груг разработчики считают что макро-шаман прав. макро-шаман неправ. код который видит груг и который видит компилер-демон разный. ОПАСНО!


C++:
struct CHEAT_INTERFACE(engine) {}

enum ECheatFlags : std::uint16_t {
    kA = 1
    kB = 2
    kMax
}
CHEAT_FLAGS_ADD(ECheatFlags)

правила груга по работе с макро-шаман для других гругов:
  • не используйте макро в .h файлах
  • #define макро перед использованием и сразу их #undef. иначе компилер-демон страдать. lsp страдать. не хорошо!
  • не использовать ## для генерации названий структур и названий атрибутов. ведёт к запутанный груг.

нестандартный си ++

груг не любить нестандартный си ++. код не работать на все компилятор. добавляет сложность к код. часто не понимать.

C++:
__forceinline void panic() {
    a = a?:b;
    return;
}
груг использовать стандартные атрибуты язык. груг поможет компилятор-демон!

C++:
[[noreturn("grug crashed here")]] inline auto panic() -> void {
while (true) {}
}
груг НЕ использовать `__asm__` вставки для делания вид что груг умнее компилятор-демон. груг не умнее компилятор демон. груг использовать обычный функции язык. компилятор-демон доволен!

груг грусть

C++:
auto __forceinline __declspec(naked) __fastcall sin(double x) -> double {
   __asm {
           fld qword ptr [esp+4]
           fsin
           ret 8
   }
}
груг доволен

C++:
auto sin(double&& x) -> double {
        return std::sin(x);
}
передача значения
передача через значение обычно плохо. груг не менять прототип функции игры но груг грусть от копирования (не груг думают что это чистый код)

в новый язык си плюс плюс добавили `std::move` и `std::forward`. груг умоляет их использовать. не копируйте значения.

структура проекта
груг использует
Код:
src/
    my_project/
        *.cpp
include/
    my_project/
        *.hpp
CMakeLists.txt
вы можете заметить что в проекте нет места под зависимости других гругов.. груг использует CMake-шаман для установки зависимостей в проект! CMake-шаман спасает груг от плохих решений Microsoft разработчик дьявол.

груг осуждает использование xml-шаман формата в .sln файлах! друг visual studio уже давно знает CMAKE.. груг счастлив..

инструменты
груг умоляет использовать clang-tools в свой проект

clang-tidy настроенный с современным и строгим настройкой. он помогать избежать плохой код.
YAML:
---
Checks: >
  bugprone-*,
  misc-*,
  modernize-*,
  performance-*,
  portability-*,
  readability-*,

WarningsAsErrors: "*"

clang-format помогает держать один и тот же стиль кода во всем проекте. груг считает полезно.

время сборки переменные
compiletime = хорошо. старайтесь делать как можно больше compiletime. compiletime шаман вас наградит очень быстрыми рутинами.

C++:
constexpr const int k_max_grugs = 16;
си стиль перевод

C++:
int b = *(int*)memory;
ОЧЕНЬ ПЛОХО! груг не понимать как переводит данные компилятор-шаман. груг любит `static_cast`. Быстро.

надеюсь я помог гругам форума спасибо
персонаж придуман
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
EFI_COMPROMISED_DATA
лучший в мире
Статус
Оффлайн
Регистрация
26 Янв 2018
Сообщения
920
Реакции[?]
1,632
Поинты[?]
85K
АХАХАХАХ я даже кажется понял откуда некоторые части кода были взяты :NotLikeThis::FailFish:
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,595
Реакции[?]
603
Поинты[?]
44K
EFI_COMPROMISED_DATA
лучший в мире
Статус
Оффлайн
Регистрация
26 Янв 2018
Сообщения
920
Реакции[?]
1,632
Поинты[?]
85K
На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,017
Реакции[?]
181
Поинты[?]
70K
а зочем constexpr и const груг
constexpr это же тот же const только еще и на этапе компиляции значение получает вроде да.
это было бы одинаково

C++:
constexpr constexpr int k_max_grugs = 16;
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,595
Реакции[?]
603
Поинты[?]
44K
а зочем constexpr и const груг
constexpr это же тот же const только еще и на этапе компиляции значение получает вроде да.
это было бы одинаково

C++:
constexpr constexpr int k_max_grugs = 16;
груг не нравится когда язык делает за груг работу. груг написать constexpr - груг знать что значение думается при создании программы. груг писать const - груг знать что значение не поменяется
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,595
Реакции[?]
603
Поинты[?]
44K
Модератор раздела "Создание скриптов для читов"
Модератор
Статус
Оффлайн
Регистрация
1 Фев 2020
Сообщения
1,201
Реакции[?]
390
Поинты[?]
45K
груг помочь мне написать программа для ядерный реактор чтобы не было бабах?
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,595
Реакции[?]
603
Поинты[?]
44K
Эксперт
Статус
Оффлайн
Регистрация
17 Янв 2020
Сообщения
2,197
Реакции[?]
718
Поинты[?]
79K
Товары в продаже
1
здравствуй житель форум красный. я груг
груг пытаться обьяснить как пользоваться си плюс плюс
груг не самый лучший кодер на земной диск но груг считал себя неплох. груг учить.

чего груг не любить

макро

груг не любить волшебные макро. макро-шаман может тебя заинтересовать меньше писать но груг осторожен. груг не использовать советы макро-шамана (особенно в header файле) потому что они вносят ненужные символы при сборе чит. не груг разработчики считают что макро-шаман прав. макро-шаман неправ. код который видит груг и который видит компилер-демон разный. ОПАСНО!


C++:
struct CHEAT_INTERFACE(engine) {}

enum ECheatFlags : std::uint16_t {
    kA = 1
    kB = 2
    kMax
}
CHEAT_FLAGS_ADD(ECheatFlags)

правила груга по работе с макро-шаман для других гругов:
  • не используйте макро в .h файлах
  • #define макро перед использованием и сразу их #undef. иначе компилер-демон страдать. lsp страдать. не хорошо!
  • не использовать ## для генерации названий структур и названий атрибутов. ведёт к запутанный груг.

нестандартный си ++

груг не любить нестандартный си ++. код не работать на все компилятор. добавляет сложность к код. часто не понимать.

C++:
__forceinline void panic() {
    a = a?:b;
    return;
}
груг использовать стандартные атрибуты язык. груг поможет компилятор-демон!

C++:
[[noreturn("grug crashed here")]] inline auto panic() -> void {
while (true) {}
}
груг НЕ использовать `__asm__` вставки для делания вид что груг умнее компилятор-демон. груг не умнее компилятор демон. груг использовать обычный функции язык. компилятор-демон доволен!

груг грусть

C++:
auto __forceinline __declspec(naked) __fastcall sin(double x) -> double {
   __asm {
           fld qword ptr [esp+4]
           fsin
           ret 8
   }
}
груг доволен

C++:
auto sin(double&& x) -> double {
        return std::sin(x);
}
передача значения
передача через значение обычно плохо. груг не менять прототип функции игры но груг грусть от копирования (не груг думают что это чистый код)

в новый язык си плюс плюс добавили `std::move` и `std::forward`. груг умоляет их использовать. не копируйте значения.

структура проекта
груг использует
Код:
src/
    my_project/
        *.cpp
include/
    my_project/
        *.hpp
CMakeLists.txt
вы можете заметить что в проекте нет места под зависимости других гругов.. груг использует CMake-шаман для установки зависимостей в проект! CMake-шаман спасает груг от плохих решений Microsoft разработчик дьявол.

груг осуждает использование xml-шаман формата в .sln файлах! друг visual studio уже давно знает CMAKE.. груг счастлив..

инструменты
груг умоляет использовать clang-tools в свой проект

clang-tidy настроенный с современным и строгим настройкой. он помогать избежать плохой код.
YAML:
---
Checks: >
  bugprone-*,
  misc-*,
  modernize-*,
  performance-*,
  portability-*,
  readability-*,

WarningsAsErrors: "*"

clang-format помогает держать один и тот же стиль кода во всем проекте. груг считает полезно.

время сборки переменные
compiletime = хорошо. старайтесь делать как можно больше compiletime. compiletime шаман вас наградит очень быстрыми рутинами.

C++:
constexpr const int k_max_grugs = 16;
си стиль перевод

C++:
int b = *(int*)memory;
ОЧЕНЬ ПЛОХО! груг не понимать как переводит данные компилятор-шаман. груг любит `static_cast`. Быстро.

надеюсь я помог гругам форума спасибо
персонаж придуман
Пожалуйста, авторизуйтесь для просмотра ссылки.
Гругу нравится. Груг доволен.
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,125
Реакции[?]
395
Поинты[?]
50K
Спасибо, из-за данной темы получил пиздюлей в 5 утра за лошадиный ржач на всю хату от соседей. А вообще автор молодец.
 
Сверху Снизу