- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
static bool convertCharToHexByte(char& ch)
{
if (ch >= '0' && ch <= '9') {
ch -= '0';
return true;
}
if (ch >= 'a' && ch <= 'f') {
ch -= 'a';
ch += 0xA;
return true;
}
if (ch >= 'A' && ch <= 'F') {
ch -= 'A';
ch += 0xA;
return true;
}
return false;
}
bormand 27.01.2015 19:45 # +1
Lokich 27.01.2015 20:13 # 0
alek0585 27.01.2015 20:43 # 0
bormand 27.01.2015 20:44 # −1
bormand 27.01.2015 21:23 # 0
Мы ведь даже не знаем, где этот статик находится - в публичном интерфейсе класса, в приватной части класса или же вне класса в cpp'шке. А от этого многое зависит...
3.14159265 02.02.2015 18:23 # 0
Эти джве ветки обычно в одну сводят
if (ch >= 'a' && ch <= 'f') {
if (ch >= 'A' && ch <= 'F') {
bormand 02.02.2015 18:30 # 0
Каким образом?
3.14159265 02.02.2015 18:35 # +2
http://govnokod.ru/12822
kegdan 02.02.2015 18:40 # 0
bormand 02.02.2015 20:21 # 0
kegdan 02.02.2015 20:23 # 0
Святого Валентина день
Vasiliy 02.02.2015 20:48 # 0
kegdan 02.02.2015 20:59 # 0
Vasiliy 02.02.2015 21:28 # +2
kegdan 02.02.2015 22:33 # 0
За влюбленных в меня дам
roman-kashitsyn 02.02.2015 20:23 # +3
суббота
guest 02.02.2015 23:53 # 0
rhaport 02.02.2015 18:08 # 0
bormand 02.02.2015 18:17 # 0
Чем return'ы тебе не угодили? Предлагаешь флаг мутить и возвращать?
> Полезность порчи входящего чара тоже под вопросом.
Предложи свой интерфейс. Там все варианты равнозначны, как мне кажется (сходу придумал штуки 4). И для приватной функции можно забить на перфекционизм.
> Скорее всего вызывает эту функцию другой говнокод.
Да какой-нибудь банальный цикл, составляющий из помятых этой функцией чаров число или байтстринг. На самом деле, bool и char & в таком контексте довольно удобны. А эта convertCharToHexByte, скорее всего, приватная.
kegdan 02.02.2015 18:26 # 0
помниться у нас тут эпичный спор был. Еще когда стертор был жив.
rhaport 02.02.2015 21:01 # 0
Если использование исключений нежелательно или очень хочется иметь булеан на выходе, то я бы использовал интерфейс с чарИн и чарОут. Если юзеру охота, то может сувать туда одну и ту же переменную, а может и разные. Но он это будет делать явно.
3.14159265 02.02.2015 21:03 # +2
Дейкстрены объелся?
Хоть конечно я тоже считаю что порча казённого чара и отсутствие else плохо.
bormand 03.02.2015 06:31 # 0
Я еще раз повторюсь, что если эта функция - приватный хелпер, то совершенно похеру. Но ОП так и не сказал нам, откуда эту функцию юзают.
> я бы использовал интерфейс с чарИн и чарОут
Наверное даже intOut.
rhaport 03.02.2015 11:11 # 0
так-то оно, почти так. Но даже в этом случае прозрачный интерфейс поможет не наступить на собственные грабли в будущем
и да, наверное всё-таки чарОут. В чём бенефит интОута?
bormand 03.02.2015 11:16 # +1
Да в общем-то ни в чём... Варианты равнозачные. Просто мне int там показался более семантичным - "целое число от 0 до 15".
kegdan 03.02.2015 11:48 # 0
Об ретурнах -ИМХО нет никакой разницы. Но из 3ного цикла проще ретурнуться чем каскадно брякнуться с сохранением состояния
3.14159265 03.02.2015 12:26 # 0
И они еще борются за почётное звание «чистых языков типа хаскеля», - это же кошмар, кошмар! in-out. чё разве, так нельзя написать?
roman-kashitsyn 03.02.2015 12:26 # 0
> int r
у вас сигнатура поехала
bormand 03.02.2015 12:50 # 0