- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
// CPP/Windows/Defs.h
#ifndef __WINDOWS_DEFS_H
#define __WINDOWS_DEFS_H
#include "../Common/MyWindows.h"
#ifdef _WIN32
inline bool LRESULTToBool(LRESULT v)
{ return (v != FALSE); }
inline bool BOOLToBool(BOOL v)
{ return (v != FALSE); }
inline BOOL BoolToBOOL(bool v)
{ return (v ? TRUE: FALSE); }
#endif
inline VARIANT_BOOL BoolToVARIANT_BOOL(bool v)
{ return (v ? VARIANT_TRUE: VARIANT_FALSE); }
inline bool VARIANT_BOOLToBool(VARIANT_BOOL v)
{ return (v != VARIANT_FALSE); }
#endif
Скопипастино из исходников 7zip (прости, Игорь Павлов).
Этот код выглядит, как ебаный пиздец.
Graviton 15.02.2017 03:05 # 0
bormand 15.02.2017 06:22 # +5
З.Ы. А что конкретно тебе тут не нравится кроме скобочек?
Graviton 16.02.2017 02:40 # +1
З.Ы. Кстати, если бы ты мне не напомнил про скобочки, то я бы их так и не заметил. Вот нахуя они там нужны?
bormand 16.02.2017 06:30 # +1
Graviton 17.02.2017 01:56 # 0
inkanus-gray 15.02.2017 09:24 # +4
bormand 15.02.2017 18:09 # +4
kegdan 16.02.2017 11:04 # 0
bormand 16.02.2017 18:13 # +1
kegdan 16.02.2017 18:35 # 0
https://ideone.com/ZXnAsk
dxd 16.02.2017 20:36 # 0
bormand 16.02.2017 21:08 # 0
kegdan 17.02.2017 02:18 # 0
gost 15.02.2017 11:39 # +4
Antervis 15.02.2017 12:37 # 0
bormand 15.02.2017 18:13 # +2
Но ведь VARIANT_TRUE - это -1. Так что лучше уж константами через тернарник, чем какой-нибудь неведомый баг. С винапишным говном лучше всегда быть настороже.
inkanus-gray 15.02.2017 19:56 # +3
В это же время в реализациях других ЯП было принято устанавливать только младший бит (true — это 1).
Кто знает, может быть, найдётся и ЯП, в котором принято устанавливать старший бит...
bormand 15.02.2017 19:57 # +1
inkanus-gray 15.02.2017 20:04 # +1
Чисто теоретически сишку можно реализовать не только в (двойном) дополнительном коде, но и в обратном (первом дополнительном), и в «прямом» (sign+magnitude).
В обратном (one's complement) все единицы — это минус ноль, а в «прямом» все единицы — это минус maxint.
http://stackoverflow.com/questions/12276957/are-there-any-non-twos-complement-implementations-of-c
inkanus-gray 15.02.2017 20:20 # +2
Antervis 16.02.2017 06:48 # +1
bormand 16.02.2017 07:02 # 0
Antervis 16.02.2017 07:49 # +4
roman-kashitsyn 15.02.2017 12:40 # −2
Spam, egg, Spam, Spam, bacon and Spam
barop 15.02.2017 16:38 # +4
во времена моего увлечения яблоками, я знал чем отличаются BOOL / bool / Boolean / NSCFBoolean
http://nshipster.com/bool/
bakagaijin 15.02.2017 23:16 # +3
Впрочем, сейчас у меня есть ангулар, так что свечку как-нибудь в другой раз. да.
barop 15.02.2017 23:19 # 0
А уж теперь там генерики, ARC, и вообше swift. Всяко лучше чем JavaScript, да.
inkanus-gray 15.02.2017 23:26 # +1
Интересно, как выглядят исходники порта Фуррифокса под Макось.
barop 15.02.2017 23:30 # 0
ps: и вообще
разве фуря не на крестах? в крестах же намеспайсы е
inkanus-gray 15.02.2017 23:32 # 0
https://github.com/mozilla/gecko-dev/blob/master/parser/htmlparser/nsHTMLTags.h
barop 15.02.2017 23:35 # 0
и ns маленькие
а у Стивви NS большие
inkanus-gray 15.02.2017 23:36 # +3
barop 15.02.2017 23:47 # 0
Это для юниттестов
https://developer.apple.com/reference/foundation/nsassert?language=objc
bormand 18.02.2017 11:25 # 0
gost 18.02.2017 11:23 # 0
Что? Типа префикс NS запатентован яблоком?
roman-kashitsyn 15.02.2017 17:08 # +9
Говорят, теперь правильно говорить ThisWindows.h
inkanus-gray 15.02.2017 19:57 # +4
barop 15.02.2017 20:22 # 0
Graviton 16.02.2017 03:21 # 0
Скоро доживемся и ITisWindows.h появится
barop 15.02.2017 17:24 # 0
Graviton 16.02.2017 02:42 # 0
barop 16.02.2017 03:11 # 0
Очень рекомендую
barop 15.02.2017 17:30 # 0
roman-kashitsyn 15.02.2017 17:32 # 0
dm_fomenok 15.02.2017 23:33 # 0
Bobik 16.02.2017 10:25 # +1
chtulhu 16.02.2017 13:13 # 0