int numbers[rows][columns] = { {1, 2}, {5, 4}, {9, 7} };
using IntColumns = int[ columns ];
using IntMatrix = IntColumns[ rows ];
IntMatrix numbers = { {1, 2}, {5, 4}, {9, 7} };
numbers
в обоих случаях?std::begin( numbers );
в обоих случаях и какой тип будет у этого результата? auto&&
тогда уж. Действительно, зачем человеку разбираться в тонкостях и деталях, когда можно просто бахнуть обобщение и пойти дальше. :) std::function
из параметров шаблона события.template< typename >
class Event;
template< typename TResult, typename... TArguments >
class Event<TResult ( TArguments... )> final
{
};
TResult
и TArguments
для определения оператора функционального вызова.std::function
здесь? Для чего ты обязываешь своего пользователя инстанцировать шаблон события именно таким образом?template< typename >
можно получить и тип результата функции, и типы всех ее параметров всего за одну частичную специализацию шаблона.Event
никуда не годится. Он неконтролируемый вообще.void operator+=(auto&& handler)
auto&&
- это универсальное обобщение. Конкретный тип из него будет выведен в момент передачи аргумента._handlers.emplace_front(std::forward<decltype(handler)>(handler));
код будет пытаться привести переданный тобой хендлер к типу THandler
.template<typename TObject, typename TEventArgs> requires std::derived_from<TEventArgs, EventArgs>
void operator()(TObject* sender, const TEventArgs& e) const
THandler
.std::function
. Постарайся разобраться с возможностями, которые тебе открывает мой совет._handlers
это коллекция делегатов, то они у тебя все одного типа и тебе про них все итак известно. баллистический симулятор с учетом сопр воздуха, аэродинамики снаряда и т.д
С учетом этого есть еще варианты?
const std::string& delimetr
- зачем эту сугубо приватную тонкость формата знать внешнему коду?std::any
используешь не по назначению. SerializationData
- это костыль как есть и назван отвратно. Какой шаблон проектирования применяешь - тебе и самому не ясно. А применяешь ты его не по месту и полностью неправильно.
Привет. :)
На холодную - это при полностью выключенном железе.
На горячую - это в момент работы железа.
Оба варианта безопасны. HDMI или DP гальванически развязаны на обоих концах, выравнивание потенциалов при подключении не требуется.
А это может говорить о перегреве видеокарты. Конкретно это может быть локальный малодетектируемый перегрев управляющего элемента на плате. Возможно из-за высокого напряжения. Собственно SpecteRED написал об этом и теперь уже именно эта гипотеза выглядит самой вероятной.
Только это не ноут. При подключении дискретки встроенное граф.ядро процессора отключается наглухо. Иначе мы бы уже давно использовали его для нужд физики. Но возможности на самом деле нет.