- 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;
}
Мы ведь даже не знаем, где этот статик находится - в публичном интерфейсе класса, в приватной части класса или же вне класса в cpp'шке. А от этого многое зависит...
Эти джве ветки обычно в одну сводят
if (ch >= 'a' && ch <= 'f') {
if (ch >= 'A' && ch <= 'F') {
Каким образом?
http://govnokod.ru/12822
Святого Валентина день
За влюбленных в меня дам
суббота
Чем return'ы тебе не угодили? Предлагаешь флаг мутить и возвращать?
> Полезность порчи входящего чара тоже под вопросом.
Предложи свой интерфейс. Там все варианты равнозначны, как мне кажется (сходу придумал штуки 4). И для приватной функции можно забить на перфекционизм.
> Скорее всего вызывает эту функцию другой говнокод.
Да какой-нибудь банальный цикл, составляющий из помятых этой функцией чаров число или байтстринг. На самом деле, bool и char & в таком контексте довольно удобны. А эта convertCharToHexByte, скорее всего, приватная.
помниться у нас тут эпичный спор был. Еще когда стертор был жив.
Если использование исключений нежелательно или очень хочется иметь булеан на выходе, то я бы использовал интерфейс с чарИн и чарОут. Если юзеру охота, то может сувать туда одну и ту же переменную, а может и разные. Но он это будет делать явно.
Дейкстрены объелся?
Хоть конечно я тоже считаю что порча казённого чара и отсутствие else плохо.
Я еще раз повторюсь, что если эта функция - приватный хелпер, то совершенно похеру. Но ОП так и не сказал нам, откуда эту функцию юзают.
> я бы использовал интерфейс с чарИн и чарОут
Наверное даже intOut.
так-то оно, почти так. Но даже в этом случае прозрачный интерфейс поможет не наступить на собственные грабли в будущем
и да, наверное всё-таки чарОут. В чём бенефит интОута?
Да в общем-то ни в чём... Варианты равнозачные. Просто мне int там показался более семантичным - "целое число от 0 до 15".
Об ретурнах -ИМХО нет никакой разницы. Но из 3ного цикла проще ретурнуться чем каскадно брякнуться с сохранением состояния
И они еще борются за почётное звание «чистых языков типа хаскеля», - это же кошмар, кошмар! in-out. чё разве, так нельзя написать?
> int r
у вас сигнатура поехала