Size: a a a

cxx.Дискуссионная

2020 February 26

KK

Kirill Kaymakov in cxx.Дискуссионная
Я бы вообще для геймдева использовал юльку, если бы можно было
источник

RM

Roy Mustang in cxx.Дискуссионная
Artöm Bakri Al-Sarmini
Переписал
Спасибо, щас проверю
источник

KK

Kirill Kaymakov in cxx.Дискуссионная
Ибо куча фич питона, а по скорости она все-таки меньше страдает
источник

НК

Никита Кучеренко in cxx.Дискуссионная
Kirill Kaymakov
Ибо куча фич питона, а по скорости она все-таки меньше страдает
Зато крашиться и багов жопой жуй
источник

НК

Никита Кучеренко in cxx.Дискуссионная
Нэ
источник

НК

Никита Кучеренко in cxx.Дискуссионная
Анриал вавн лав
источник

KK

Kirill Kaymakov in cxx.Дискуссионная
Никита Кучеренко
Зато крашиться и багов жопой жуй
Не будет
источник

KK

Kirill Kaymakov in cxx.Дискуссионная
Луа же не крашится)
источник

НК

Никита Кучеренко in cxx.Дискуссионная
Kirill Kaymakov
Не будет
Я про Юнити
источник

RM

Roy Mustang in cxx.Дискуссионная
Artöm Bakri Al-Sarmini
Тогда я бы сделал дефолтом тег
struct not_a_cb_tag {
   explicit constexpr not_a_cb_tag() = default;
};

template <typename T, typename Callback =
not_a_cb_tag
, typename = std::enable_if_t<std::is_same_v<T, CServer> || std::is_same_v<T, CClient>, T>>
   void RemoveConnection(const uint32_t connection, [[maybe_unused]] Callback fCallback = not_a_cb_tag{})
   {
       if(const auto itr = m_connection.find(connection); itr != m_connection.end())
       {
         
           if constexpr (std::is_same_v<T, CServer>) {
               m_connectionAppID.erase(registry.get<T>(itr->second).base_.app_id);
           }
           registry.destroy(itr->second);
           m_connection.erase(connection);
       }

       // хз куда
       if constexpr (!std::is_same_v<Callback,
not_a_cb_tag
>) {
           fCallback(stuff);
       }
   }
получается ты тут систему наебываешь, с помощью дефолтной инициализации, получается, что если второй аргумент не указывать, то по дефолту он примет тип not_a_cb_tag что игнорируется проверкой is_same
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Roy Mustang
получается ты тут систему наебываешь, с помощью дефолтной инициализации, получается, что если второй аргумент не указывать, то по дефолту он примет тип not_a_cb_tag что игнорируется проверкой is_same
Обычный прием
источник

/dev/urandon ¯\_(ツ)_/¯ in cxx.Дискуссионная
Никита Кучеренко
UE4
Пока на крестах будешь по 40 раз за день реквайерементсы меняющиеся прототипировать в перерыве между еблей с геймдизайнером и пиэмом, все дедлайны прокранчишь
источник

/dev/urandon ¯\_(ツ)_/¯ in cxx.Дискуссионная
Игровая логика и геймплей сейчас про быстрые прототипы и еблю со всеми
источник

/dev/urandon ¯\_(ツ)_/¯ in cxx.Дискуссионная
А не про перфоманс и вылизанный код
источник

НК

Никита Кучеренко in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
Пока на крестах будешь по 40 раз за день реквайерементсы меняющиеся прототипировать в перерыве между еблей с геймдизайнером и пиэмом, все дедлайны прокранчишь
Та ебля есть везде
источник

RM

Roy Mustang in cxx.Дискуссионная
Artöm Bakri Al-Sarmini
Обычный прием
Я правильно понимаю, что тут [[maybe_unused]] в целом никакую роль не отыгрывает
источник

RM

Roy Mustang in cxx.Дискуссионная
просто явно указывает что можно проигнорировать, по сути, дефолтная инициализация делает аналогичное?
источник

/dev/urandon ¯\_(ツ)_/¯ in cxx.Дискуссионная
Никита Кучеренко
Та ебля есть везде
Для ебли есть ебловые инструменты типа всякой скриптоты и графических редакторов, а кресты не тот тул
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Roy Mustang
Я правильно понимаю, что тут [[maybe_unused]] в целом никакую роль не отыгрывает
Позволяет компилировать с -Wunused. Если аргумент не передан, тег никак использоваться не будет
источник

RM

Roy Mustang in cxx.Дискуссионная
Artöm Bakri Al-Sarmini
Позволяет компилировать с -Wunused. Если аргумент не передан, тег никак использоваться не будет
Понял, спасибо, щас проверю, допишу только логику тела функции
источник