[過去ログ] 【初心者歓迎】C/C++室 Ver.102【環境依存OK】 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
12: デフォルトの名無しさん [sage] 2017/11/07(火) 04:37:45 ID:T7zw8VZw(1/3) AAS
>>9
9(1): デフォルトの名無しさん [sage] 2017/11/06(月) 09:40:14 ID:L15YU14L(1) AAS
if (strncmp(psz, "12 34 56", 8) == 0) return 123456;
は質問者に対する皮肉のつもりだったんだけど
13: デフォルトの名無しさん [sage] 2017/11/07(火) 04:47:47 ID:T7zw8VZw(2/3) AAS
意図的に糞コードを書いた事もわからないクソがいるとは
こんな簡単なコードの動作も理解できてないようだし
18
(1): デフォルトの名無しさん [sage] 2017/11/07(火) 08:32:51 ID:T7zw8VZw(3/3) AAS
>>3
3(3): デフォルトの名無しさん [sage] 2017/11/05(日) 20:58:13 ID:80sy7ZoV(1) AAS
unsigned long strtoulxn( char const* psz, size_t n )
{
    unsigned long v;

    for ( v = 0; *psz && n--; psz++ ) {
        if ( ! isdigit( *psz ) ) {
            continue;
        }
        v = 10 * v + ( *psz - '0' );
    }
    return v;
}

●パフォーマンス
*pszが3回も出てくる
代入して持っておいた方が
チープなコンパイラでは速度が変わる

isdigit
どうせ数字が連続してる前提のコードなんだから
関数を呼ばずに'0' '9'と比較しちゃおう
そうのが速い
関数コールは一般的に遅い

●見やすさ
forループにいくつも入れない
while (n--) か for (size_t i= 0; i < n ; i++)
null文字はbreakで

●仕様
null文字とサイズ、両方で停止は仕様としては問題ない
パフォーマンス最優先であればそれぞれの特別版を作ればいい
文字数もスペースの位置も固定で
パフォーマンス最優先なら
ループアンロールするのが一番
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.037s