- スレを勃てるまでもない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() を使うこと。 ボロクソ
|