[過去ログ] sizeof(char)が必ず1でも、省略すべきではない (683レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
354(3): 2007/09/03(月)22:57 AAS
突然だがスレを激しくrollbackしていいかな。
sizeof(char)は確かに仕様で1と決まっているけど、省略しない方が良い。
コメントやsizeof(char)==1の理解が無くても、
ソースを見るだけで文字数→バイト数として扱いたい意図が明確になる。
それにコンパイラの最適化でどうせコストは0だ。
ただ、そんな冗長なソースが散在しているのが嫌だというのも同意出来る。
しかしそれ以前に、文字列の操作なんて普通はラップしないか?
>malloc(sizeof(char)*(strlen(s)+1))
>malloc(strlen(s)+1)
両方とも、非常に短い関数以外でこんなん出てきたらどうかと思うんだが。
省7
356: 2007/09/03(月)23:28 AAS
>>354
一方俺はC++を使った。
373(2): 2007/09/04(火)02:49 AAS
>>354
> char* strmalloc(int len){return len<0?NULL:malloc((len+1)*sizeof(char ));}
len=0のときにNULLにしてしまうのは、ちょっと馴染みがないんだが。
375(1): 2007/09/04(火)02:55 AAS
>>354
その引数lenの型は、size_tにして、条件演算子は排除。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.032s