if(ThreadID != (unsigned long) -1) {...}
От: memorilik  
Дата: 25.05.07 06:13
Оценка: +1 -9
Может это и не в юмор надо, но меня улыбнуло...
Re: if(ThreadID != (unsigned long) -1) {...}
От: Кузнецов Виктор Россия  
Дата: 25.05.07 06:30
Оценка:
IT-шный юмор становится все тупее и тупее.
Здесь-то что смешного?!!!
Re[2]: if(ThreadID != (unsigned long) -1) {...}
От: memorilik  
Дата: 25.05.07 06:37
Оценка:
Здравствуйте, Кузнецов Виктор, Вы писали:

КВ>IT-шный юмор становится все тупее и тупее.

КВ>Здесь-то что смешного?!!!

Вы тоже "-1" к беззнаковому часто приводите?
Re[3]: if(ThreadID != (unsigned long) -1) {...}
От: 0x8000FFFF Россия  
Дата: 25.05.07 07:04
Оценка: +2 -1
Ну — если лениво писать 0xFFFFFFFF

(правда подход плох — не на всех платформах сработает).
Re[4]: if(ThreadID != (unsigned long) -1) {...}
От: ned Австралия  
Дата: 25.05.07 07:11
Оценка:
Здравствуйте, 0x8000FFFF, Вы писали:

FFF>Ну — если лениво писать 0xFFFFFFFF


FFF>(правда подход плох — не на всех платформах сработает).


0x...FF тем более. Я обычно пишу -1.
Re[3]: if(ThreadID != (unsigned long) -1) {...}
От: Кузнецов Виктор Россия  
Дата: 25.05.07 07:15
Оценка:
Здравствуйте, memorilik, Вы писали:

M>Здравствуйте, Кузнецов Виктор, Вы писали:


КВ>>IT-шный юмор становится все тупее и тупее.

КВ>>Здесь-то что смешного?!!!

M>Вы тоже "-1" к беззнаковому часто приводите?


Представьте себе, бывает. Если функция возвращает DWORD, а 0xFFFFFFFF — код ошибки, то читабельнее и проще писать тот код, над которым Вы по непонятным мне причинам, смеялись.
Re[4]: if(ThreadID != (unsigned long) -1) {...}
От: Crackjack Россия  
Дата: 25.05.07 07:34
Оценка: +1
if(ThreadID != (unsigned long) -1) {...}


#define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1)

Но я так делаю, код понятнее становится.
if(ThreadID != INVALID_HANDLE_VALUE) {...}
Да и вообще, конструкция выше, это убожество какое-то, если человек под Win пишет!
Ничего кроме смеха, подобные вещи вызвать не могут. Ну ещё кучу мата иногда.
Re[5]: if(ThreadID != (unsigned long) -1) {...}
От: dr.Chaos Россия Украшения HandMade
Дата: 25.05.07 07:42
Оценка: +2
Здравствуйте, Crackjack, Вы писали:

C>if(ThreadID != (unsigned long) -1) {...}



C>#define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1)


C>Но я так делаю, код понятнее становится.

C>if(ThreadID != INVALID_HANDLE_VALUE) {...}
C>Да и вообще, конструкция выше, это убожество какое-то, если человек под Win пишет!
C>Ничего кроме смеха, подобные вещи вызвать не могут. Ну ещё кучу мата иногда.

Может лучше написать:

std::numeric_limits<unsigned long>::max( )


ИМХО это и есть самый переносимый вариант.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[6]: if(ThreadID != (unsigned long) -1) {...}
От: memorilik  
Дата: 25.05.07 07:56
Оценка: -2
Здравствуйте, dr.Chaos, Вы писали:

DC>Здравствуйте, Crackjack, Вы писали:


C>>if(ThreadID != (unsigned long) -1) {...}



C>>#define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1)


C>>Но я так делаю, код понятнее становится.

C>>if(ThreadID != INVALID_HANDLE_VALUE) {...}
C>>Да и вообще, конструкция выше, это убожество какое-то, если человек под Win пишет!
C>>Ничего кроме смеха, подобные вещи вызвать не могут. Ну ещё кучу мата иногда.

DC>Может лучше написать:


DC>
DC>std::numeric_limits<unsigned long>::max( )
DC>


DC>ИМХО это и есть самый переносимый вариант.


Вы реально думаете, что человек, который пишет приведенный код, думает о переносимости? Уверяю Вас — нет!
Только под винду и только на С! STL и BOOSt — зло!
)
Re[7]: if(ThreadID != (unsigned long) -1) {...}
От: dr.Chaos Россия Украшения HandMade
Дата: 25.05.07 07:59
Оценка: +1
Здравствуйте, memorilik, Вы писали:

DC>>Может лучше написать:


DC>>
DC>>std::numeric_limits<unsigned long>::max( )
DC>>


DC>>ИМХО это и есть самый переносимый вариант.


M>Вы реально думаете, что человек, который пишет приведенный код, думает о переносимости? Уверяю Вас — нет!

M>Только под винду и только на С! STL и BOOSt — зло!
M>)

К чему столько спеси?
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[8]: if(ThreadID != (unsigned long) -1) {...}
От: memorilik  
Дата: 25.05.07 08:12
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

DC>К чему столько спеси?


хм... Да так и есть, вообщем-то...

мои слова-
M>Вы реально думаете, что человек, который пишет приведенный код, думает о переносимости? Уверяю Вас — нет!
M>Только под винду и только на С! STL и BOOSt — зло!
M>)
относиться вот к этому —
if(ThreadID != (unsigned long) -1) {...}
Re[6]: if(ThreadID != (unsigned long) -1) {...}
От: 0x8000FFFF Россия  
Дата: 25.05.07 08:28
Оценка:
Насчет переносимости посмотрил — реализации STL бывают и разные =)
Re[7]: if(ThreadID != (unsigned long) -1) {...}
От: dr.Chaos Россия Украшения HandMade
Дата: 25.05.07 08:37
Оценка: :)
Здравствуйте, 0x8000FFFF, Вы писали:

FFF>Насчет переносимости посмотрил — реализации STL бывают и разные =)


Т.е. могут не выдать мне максимум для unsigned long?
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[8]: if(ThreadID != (unsigned long) -1) {...}
От: 0x8000FFFF Россия  
Дата: 25.05.07 09:28
Оценка:
Может не быть такого темплейта =))))))
Re[9]: if(ThreadID != (unsigned long) -1) {...}
От: dr.Chaos Россия Украшения HandMade
Дата: 25.05.07 09:47
Оценка:
Здравствуйте, 0x8000FFFF, Вы писали:

FFF>Может не быть такого темплейта =))))))


Хе.

Думаю данная проблема решаема.

ЗЫ А у какой реализации STL его нет? Просто на всякий случай.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[4]: if(ThreadID != (unsigned long) -1) {...}
От: DangerRSDN Россия http://danger-world.livejournal.com/
Дата: 25.05.07 10:08
Оценка: :))) :))
Здравствуйте, 0x8000FFFF, Вы писали:

FFF>Ну — если лениво писать 0xFFFFFFFF


Вот зато 0x8000FFFF каждый день не лениво писать. Если конечно не стоит автологин на КЫВТ.
Re: if(ThreadID != (unsigned long) -1) {...}
От: Igore Россия  
Дата: 25.05.07 10:15
Оценка:
Здравствуйте, memorilik, Вы писали:

M>Может это и не в юмор надо, но меня улыбнуло...


Ничего смешного это из за ворнига сделано

Таже проблема возникала при for(size_t i=0;i<...) так вот если в этом масиве хранятся индексы другого масива и могут быть валидные ошибки со значенимем -1, то приходтится делать почти так же
if((size_t)-1!=a[i])
ThreadID = -1 не удалось создать поток вот и все, а что ты предлагаешь делать? ThreadID=0 так такое может быть. По идее и -1 может быть но сомневаюсь.
Re[10]: if(ThreadID != (unsigned long) -1) {...}
От: 0x8000FFFF Россия  
Дата: 25.05.07 10:25
Оценка: :)
Встречал я одну разновидность на экзотической мобиленой платформе входящий в поставку — не помню уже... Потом плюнул — собрал STLPort =)))))))
Re[5]: if(ThreadID != (unsigned long) -1) {...}
От: Andrew S Россия http://alchemy-lab.com
Дата: 25.05.07 15:59
Оценка:
C>if(ThreadID != (unsigned long) -1) {...}


C>#define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1)


C>Но я так делаю, код понятнее становится.

C>if(ThreadID != INVALID_HANDLE_VALUE) {...}

При чем тут это? Человек проверяет текущий это поток (псевдо-хендл) или нет. INVALID_HANDLE_VALUE это совсем из другой оперы...
По-крайней мере, судя по коду.

C>Да и вообще, конструкция выше, это убожество какое-то, если человек под Win пишет!

C>Ничего кроме смеха, подобные вещи вызвать не могут. Ну ещё кучу мата иногда.

Для начала неплохо разобраться бы в том, над чем собственно смеяться.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[4]: if(ThreadID != (unsigned long) -1) {...}
От: drx США  
Дата: 25.05.07 16:52
Оценка: 1 (1) :)
Здравствуйте, 0x8000FFFF, Вы писали:

FFF>Ну — если лениво писать 0xFFFFFFFF


FFF>(правда подход плох — не на всех платформах сработает).


Тогда, имхо, лучше написать
if(ThreadID != ~0) {...}

это и короче, и без приведений типов, и (насколько я понял) именно то, что хотел программист — int со всеми битиками, установленными в 1.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.