ваш желаемый язык программирования
не существует вообще.std
является стандартным только для C++.в Arduino-компиляторе их выпилили по неизвестной никому причине
В этом году хочу добавить полив через клапана, линейные приводы на теплицу, датчики дождя и прочее...
Да
11 22 22 33 33 33
по строчкам пройдя свой код.union
и struct
работают еще как отличимо.ObjectPos
имеет размер 2 байта и выравнивание на 2 байта. Оба его поля размещаются в этих двух байтах, адреса этих полей одинаковы и размеры тоже одинаковы - 2 байта.ObjectPos
допускается задать значение одного поля и прочитать его же из другого поля. Документация дает исчерпывающее понимание этого формата.struct
- все поля имеют свой собственный адрес, упакованы согласно своему выравниванию и занимают свою уникальную память согласно своему собственному размеру.struct ObjectPos {
unsigned short x;
unsigned short y;
};
ObjectPos
был бы уже 4 байта, т.к. оба поля имели бы в структуре свою собственную память.std::unordered_map
[?] являются по умолчанию: наличие достижимого инстанцирования шаблона std::hash
и оператора эквивалентности.std::unordered_map
, использовав свои типы вместо типов по умолчанию.Не понимаю зачем это нужно, ведь оно же ищет по хеш-функции определенной выше
std::unordered_map
будет искать среди ключей с одинаковым хэшем эквивалентный искомому. In any case, if the value of the right operand is negative or is greater or equal to the number of bits in the promoted left operand, the behavior is undefined.
( size_t( s.x ) << 16 )
.
Пробовал?