Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 June 27

TS

Till Schneider in IT KPI C/C++ ХВ (не UB)
bool isLittleEndian()
{
   short int number = 0x1;
   char *numPtr = (char*)&number;
   return (numPtr[0] == 1);
}
источник

TS

Till Schneider in IT KPI C/C++ ХВ (не UB)
#if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN || \
   defined(__BIG_ENDIAN__) || \
   defined(__ARMEB__) || \
   defined(__THUMBEB__) || \
   defined(__AARCH64EB__) || \
   defined(_MIBSEB) || defined(__MIBSEB) || defined(__MIBSEB__)
// It's a big-endian target architecture
#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN || \
   defined(__LITTLE_ENDIAN__) || \
   defined(__ARMEL__) || \
   defined(__THUMBEL__) || \
   defined(__AARCH64EL__) || \
   defined(_MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__)
// It's a little-endian target architecture
#else
#error "I don't know what architecture this is!"
#endif
источник

K

Koтэ ❄️ in IT KPI C/C++ ХВ (не UB)
А если так?
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Зачем на си использовать константы вместо #define, кроме как проверки типов при компилировании?
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
Till Schneider
#if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN || \
   defined(__BIG_ENDIAN__) || \
   defined(__ARMEB__) || \
   defined(__THUMBEB__) || \
   defined(__AARCH64EB__) || \
   defined(_MIBSEB) || defined(__MIBSEB) || defined(__MIBSEB__)
// It's a big-endian target architecture
#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN || \
   defined(__LITTLE_ENDIAN__) || \
   defined(__ARMEL__) || \
   defined(__THUMBEL__) || \
   defined(__AARCH64EL__) || \
   defined(_MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__)
// It's a little-endian target architecture
#else
#error "I don't know what architecture this is!"
#endif
ээ.. а кроссплатформ?
источник

TS

Till Schneider in IT KPI C/C++ ХВ (не UB)
Alexander Pavlyuchuk
ээ.. а кроссплатформ?
почти
источник

TS

Till Schneider in IT KPI C/C++ ХВ (не UB)
Till Schneider
bool isLittleEndian()
{
   short int number = 0x1;
   char *numPtr = (char*)&number;
   return (numPtr[0] == 1);
}
.
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
Зачем на си использовать константы вместо #define, кроме как проверки типов при компилировании?
- читабельность
- легенды об ускорении
источник
2020 June 28

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Имеет смысл константы, относящиеся к одному объекту, выделять в константную структуру?
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
(Делай constexpr)
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Но вообще да, если их много/они образовывают логический кластер
источник

k

kvark in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
Имеет смысл константы, относящиеся к одному объекту, выделять в константную структуру?
Смотря какой контекст. Число пи ты же не будешь выделять в структуру математических констант. С другой стороны константы имен каких-то состояний имеет смысл объеденить
источник

k

kvark in IT KPI C/C++ ХВ (не UB)
Arjaz
Но вообще да, если их много/они образовывают логический кластер
Это точно
источник

k

kvark in IT KPI C/C++ ХВ (не UB)
И вообще делать специальные классы констант, которые сами ничего не умеют это как-то странно. Возможно, что-то пошло не так
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Arjaz
(Делай constexpr)
В си такого нет
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
В си такого нет
Пиши на плюсах
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Делай static const тогда, если на си
источник

R

Rabu in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
Имеет смысл константы, относящиеся к одному объекту, выделять в константную структуру?
так.
источник

k

kvark in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
В си такого нет
А, это си...
источник
2020 July 01

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
В чём идея лямбда выражений? Кроме как создать анонимную единичную функцию для передачи её в функцию.
источник