トップページ > プログラム > 2014年07月29日 > s+4NszZe

書き込み順位&時間帯一覧

10 位/178 ID中時間01234567891011121314151617181920212223Total
書き込み数0200000000000000001011005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
スレを勃てるまでもないC/C++の質問はここで 22
ECMAScript デス 4
スレ立てるまでもない質問はここで 137匹目
C/C++の宿題片付けます 167代目

書き込みレス一覧

スレを勃てるまでもないC/C++の質問はここで 22
362 :デフォルトの名無しさん[sage]:2014/07/29(火) 01:06:14.11 ID:s+4NszZe
>>361
型情報と一緒にコンパイラが持ってんじゃねぇの
出力されたコード上では定数
C++だとさらに名前の中にマングリングして突っ込む

だけど、引数としての配列って不完全型云々じゃなくて暗黙のうちにポインタに変換されてたりしないか?
Cの仕様書持ってないからそのへんは知らんけど、不完全型へのsizeofならエラーじゃないのかと。
ECMAScript デス 4
598 :デフォルトの名無しさん[sage]:2014/07/29(火) 01:28:07.02 ID:s+4NszZe
>>595
キーワード追加は既存コードとの衝突があるし、
funcとか山ほど使われてるから大変なんだろう。
C++のautoとかは新キーワードかとおもいきやCの頃から存在してたが、
全く使われて居ない無意味なキーワードの再利用だから衝突しなかった。
スレを勃てるまでもないC/C++の質問はここで 22
364 :デフォルトの名無しさん[sage]:2014/07/29(火) 18:40:51.49 ID:s+4NszZe
>>363
不完全型の説明が間違ってるって言ってる訳じゃないよ。
配列を引数に取ると不完全型の配列になるんじゃなくて、
完全型のポインタになるんじゃないのかって話。

これはC++になるけど、http://ideone.com/nMMdX1
ってコードで型情報を見てみるとbarとbazの型は同じになる。
VisualStudio2010のCL16.00だと
foo=4,type=int [1]
bar=4,type=int *
baz=4,type=int *
となる。
そしてfoo[]に変えて不完全型にするとどちらもエラーになる。
foo[]だけがsizeofがエラーになるのはTCCでも再現するよ。
スレ立てるまでもない質問はここで 137匹目
652 :デフォルトの名無しさん[sage]:2014/07/29(火) 20:05:17.56 ID:s+4NszZe
>>597>>643
一太郎もそういう売り方してたって聞いた覚えがあるんだが、秀丸のほうが先なのか?
C/C++の宿題片付けます 167代目
825 :デフォルトの名無しさん[sage]:2014/07/29(火) 21:35:31.86 ID:s+4NszZe
>>823
http://ideone.com/qkEhJE
「while(fgets(buffer,sizeof(buffer),stdin))」を「while(gets(buffer))」
に置き換えればgetsで書けるけど、危険なのでやってはいけない。
1行の長さがbufferのサイズを超えた時、鼻から悪魔が飛び出しても文句を言えない。

http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/gets.3.html
>この関数は使用しないこと。
>gets() は絶対に使用してはならない。
>gets() を使うのは極めて危険である。
>代わりに fgets() を使うこと。
ボロクソ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。