1 名前:デフォルトの名無しさん [2007/06/03(日) 22:33:55 ] エスケープシーケンスやWin32APIなどの環境依存な物でもOK。 ただしその場合、質問者は必ず、環境を書きましょう。 ※sage禁止です。 【前スレ】 【初心者歓迎】C/C++室 Ver.37【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1178432985/l50 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
116 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 07:31:36 ] >>110 inline 指定とリンケージは関係ないよ。
117 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 07:32:28 ] >>116 でもヘッダファイルに宣言だけしたらリンカエラーでるじゃん?
118 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 07:35:02 ] なんという面倒くさい仕様… これは暗に「よほどのことが無い限り使うな」と言っているので同じではないか
119 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 07:36:50 ] >>117 定義が無いからだろ。リンケージも inline も関係ない。
120 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 07:39:09 ] >>118 その認識で問題ない。 inline で速度が変わる状況なんてかなり減ってきてるし、 これからも減るだろうし。
121 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 07:40:49 ] もうinline化なんかコンパイラに任せろよ 適当にやってくれるだろ
122 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 07:45:38 ] >>118 ついでに言えば、最早コンパイラはオブジェクト間最適化を行なう時代。 inline指定なんぞせんでもコンパイラの方で勝手に(別ファイルの関数さえ)インライン展開してくれるよ。
123 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 07:46:05 ] >>119 静的リンケージだから定義がないんじゃないのか?
124 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 07:47:01 ] 内部、だ。
125 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 07:51:14 ] >>119 それはおかしい。extern宣言しても他のファイルで定義してある inline関数は使えんぞ。
126 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 08:03:10 ] >>125 なるほど。 inline は関係あるな。 7.1.2p4 より "An inline function shall be defined in every translation unit in which it is used and shall have exactly the same definition in every case." inline 関数は使われるソースごとに定義が必要になるってことらしい。 エラーになるのはこのルールに違反するからであって、リンケージは 関係ない。
127 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 08:05:29 ] >>126 お前最初にinline関係ないって言ったじゃん。いい加減な事を言うな。
128 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 08:19:03 ] ごめんよ。 >119 を書いた時点では分割コンパイルを意識してなかったんだ。
129 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 08:20:18 ] ( ゚д゚)ポカーン
130 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 08:21:37 ] 分割コンパイルを使わないとC++の意味が・・・・・
131 名前:デフォルトの名無しさん [2007/06/06(水) 19:15:39 ] getchar(c); c - '0' /*cの中が文字か数字かをしらべる*/ c - '0' の意味がわかりません これは何をやってるんですか?
132 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 19:18:36 ] c - '0' は普通数字を 0 〜 9 の数値に変換するときに使うけど
133 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 19:43:22 ] ざっと C++ のドラフトを見ても、 仮想関数テーブルに関する記述がないんですが、 仮想関数テーブルは C++ の仕様上には 全く存在しない概念なんでしょうか?
134 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 19:50:11 ] ABIとか、Implementation Specificな話は規格には載らないんじゃないの
135 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 19:53:29 ] >>131 '0'ってのは数値的には0x30、そこから順に0x39('9')まで並んでる だから文字として入力したものを数値に変換するときはそういうこともするけど・・・ キャラクターコードの意味わかってないなら isdigitとか使っとけ 変換するなら atoiとかstrtol使えばいい それコメントが間違ってるよw 関数使わずに調べるなら if((c >= '0') && (c <= '9')) でいいだろうし、 変換したいならその後に c-'0' したほうがいいと思う c-'0' じゃ数字かどうか調べてないしな・・・
136 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 19:58:24 ] 直接プログラミングではない質問なのですが、 ネットワーク外部にインストールしたRuby等の.exeを、ファイル共有した状態で 例えば \\マシン名\\Ruby\bin\ruby.exe にあるruby.exeを実行したくて Path環境変数に"\\マシン名\\Ruby\bin"を追加したのですが、うまくいきません。 そもそも無理なのか、または指定のやり方が間違っているのでしょうか?
137 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 20:02:41 ] 歯医者に風邪治してくれと言ってるようなもの スレ違い
138 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 20:14:38 ] 下手な例えだな
139 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 20:43:07 ] >>134 つまり、仮想関数テーブルは Implementation Specific な話ということなんですね。 了解しました。
140 名前:1/2 mailto:sage [2007/06/06(水) 20:51:48 ] #include <stdio.h> int main(void) { int a, b, n; puts("整数を2つ入力してください"); scanf("%d %d", &a, &b); puts("演算子を入力してください"); n = getchar(); switch(n) { case '+': printf("%d\n", a+b); break; case '-': printf("%d\n", a-b); break; case '*': printf("%d\n", a*b); break; case '/': printf("%d\n", a/b); break; case '%': printf("%d\n", a%b); break; } return 0; }
141 名前:2/2 mailto:sage [2007/06/06(水) 20:52:58 ] #include <stdio.h> int main(void) { int a, b, n; puts("整数を2つ入力してください"); scanf("%d %d", &a, &b); puts("演算子を入力してください"); n = getchar(); switch(n) { case '+': printf("%d\n", a+b); break; case '-': printf("%d\n", a-b); break; case '*': printf("%d\n", a*b); break; case '/': printf("%d\n", a/b); break; case '%': printf("%d\n", a%b); break; } return 0; }
142 名前:2/2 mailto:sage [2007/06/06(水) 20:53:38 ] 上記のプログラムを作ったのですがコンパイルして実行すると 「演算子を入力してください」 でプログラムが終了してしまいます。 何故でしょうか? 環境はcygwinです。
143 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 20:58:13 ] >>142 getchar() で改行文字を読み込んでいるから
144 名前:142 mailto:sage [2007/06/06(水) 21:09:30 ] >>143 "改行文字を読み込んでいる"、とはどういうことでしょうか?
145 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 21:22:48 ] scanf で数値の後にいれた改行が stdin のバッファに残っている getchar でバッファに残った改行文字が取り出される とりあえず scanf("%d %d", &a, &b); ↓ scanf("%d %d%*[\n]", &a, &b); または scanf("%d %d", &a, &b); ↓ scanf("%d %d", &a, &b); while(getchar()!='\n'); としてみては?
146 名前:142 mailto:sage [2007/06/06(水) 21:29:59 ] >>145 無事解決しました。有り難うございます。 直後の改行が残ってたんですね; あらかじめ、a,bに値を代入してscanfを削除したらちゃんと実行できた訳ですね。
147 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:46:17 ] Google Booksすげーな。言語の本無料でみれんじゃん
148 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:57:06 ] >>147 それって、前にTVでやっていた著作権切れの本を公開する奴?
149 名前:デフォルトの名無しさん [2007/06/07(木) 06:26:40 ] NULLが0でない環境が存在するのと同様に、 0がぬるぽじゃない環境ってのもあるんでしょうか?
150 名前:デフォルトの名無しさん [2007/06/07(木) 06:28:41 ] 0がぬるぽでない環境が存在するのと同様に、 NULLが0じゃない環境ってのもあるんでしょうか?
151 名前:デフォルトの名無しさん [2007/06/07(木) 06:49:24 ] トートロってんじゃねぇよって事ですか よく考えると自分も質問の意図を把握できてないのに気づいたので取り下げます
152 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 09:12:19 ] >>149 0 こそが真のヌルポインタだよ。 ただ、これだけだと整数型とか小数型の値としてもとれるから、 NULL ってマクロを使ってそれを回避できるようにもしてるだけ。
153 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 09:53:37 ] >>152 そんな隙だらけの説明しかできないんならヌルポインタについて語るのはやめとけ。 ↓これでいいだろ。 www.kouno.jp/home/c_faq/c5.html
154 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 09:57:54 ] 自分の読解力の無さを人の文章力のせいにするな
155 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:10:02 ] 確かに隙が多かったな。 >ただ、これだけだと整数型とか小数型の値としてもとれるから、 これは、 #ただ、これだけだと「プログラムを読む人間」 が、この 0 が #数値の 0 か、ヌルポインタの 0 かを、そこからだけでは読み取れないので、 という風な意味。
156 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:13:43 ] 自分の文章力の無さを人の読解力のせいにするな
157 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:18:00 ] コピペうざす
158 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:25:38 ] 自分のうざさを人のうざさのせいにするな
159 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:33:51 ] 彼は分裂症で、彼の否定する自分自身とは彼自身では違う人格なのだから良いんだよ。
160 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:54:04 ] 何もかもみんなお前のせいだ
161 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 14:32:34 ] for(;;) { struct st* a; get(&a); /* callocで構造体配列作成しaに割り当て */ free(a); } これをコンパイルすると、syntax error: missing';' before 'type' とでます。アドバイスを頂けないでしょうか。お願いします。
162 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 14:36:43 ] 申し訳ありません。161の件は宣言の前にif-break;を入れていたのが原因 のようです。しかし、freeのときにエラーが出るのがわからなく その件について助言お願い致します。
163 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 14:42:07 ] >>162 その原因の行も書いてよ。 自分がコンパイラになったつもりでたどればわかる
164 名前:デフォルトの名無しさん [2007/06/07(木) 14:47:38 ] aをNULLで初期化したらエラー消えるはず
165 名前:デフォルトの名無しさん [2007/06/07(木) 14:49:08 ] は関係ありませんねすいません
166 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:18:12 ] 161です。レスありがとうございました。自己解決しました。 if(FALSE)break; struct st* a; get(&a); free(a); だとコンパイルできなくて struct st* a; if(FALSE)break; get(&a); free(a); だと実行時エラー。 struct st* a = NULL; if(FALSE)break; get(&a); free(a); で解決しました。C言語に慣れておらずいまいち理解できないので すごく変な勘違いしてそうですね…。
167 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:27:24 ] 変数の宣言がブロックの先頭じゃなかった、という落ちか・・・ 実行時エラーは何か勘違いしてる
168 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:32:37 ] おそらく、get() の先のcallocで取ったポインタを * つけないで代入してるんだろうな
169 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:32:46 ] 実行時エラーというか実行時警告というか あれは未初期化ポインタに対するアクセスのエラーだから リリースビルドにすれば実行時に落ちることは無い しかしその前にコンパイラの方で未初期化に対するどうたらこうたらっていう 警告が出るはずなんだが…
170 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:34:10 ] >>169 get で &つけて呼び出してるから、警告は出ないんじゃないかな。 その関数で代入失敗してるっぽい。
171 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:38:09 ] そうかごめん 試しにそうしたら確かに通っちゃったよ…
172 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:41:04 ] コンパイルの段階で出てくるのが コンパイルエラー (リンクの段階で出てくるのが リンクエラー) 出来上がった実行ファイルを実行して出てくるのが 実行時エラー m(c)alloc で得られたポインタではない非NULL 値を realloc しようとしたんじゃねーかな?
173 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:44:43 ] って calloc と書いてあったな… get(struct st**) の実装晒したほうが早いぞ
174 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:52:12 ] getの実装は既存のライブラリです。でも一応、callocの部分を 確認したところキャストはされていませんでした。 ブロックの先頭・値初期化の不備は、お恥ずかしいミスです。 ところで、C++てエラーメッセージがわかりにくくないですか? 関数や引数のクイックインフォも出なくて、難しすぎて泣けてきます。
175 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:56:37 ] いや、これそのままなら初期化いらないはずなんだって。 getの仕様によるけどな。
176 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:59:17 ] あ、>>168 はキャストのことじゃなくて、参照を考慮にいれてないって ことでしょうか?でも多分、get()には問題はないはずです。 たった4行のコードでここまで悩める俺みたいなバカは プログラマに向いてないんでしょうねorz
177 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:08:38 ] >>176 だったら get(arg) の仕様は? 第一引数 arg の内容を書き換えるだけ ならば、 NULL 初期化しなくても、実行時エラーは出ないつくりになる(はず)。 第一引数 arg の内容を確認してから書き換える ならば、 NULL 初期化が必須になるだろう。 この違いは get() を作った奴が指示すべきで、それを利用する側は、 その指示に従うしかない。 (で、その指示がない場合は作った奴を呪う)
178 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 18:47:58 ] コマンドプロンプトで色々なコマンドが用意されていると思うのですが、 それをC言語で使用するにはどうすればいいのでしょうか? 具体的に言いますと、とりあえずexeファイルにa.txtをD&Dしたらそのディレクトリに copy_a.txtというファイルを作成したりしたいです。コマンドプロンプトでいうとcp a.txt copy_a.txtですね。 まぁやりたいのはcpコマンドではなくて、javacコマンドとjavaコマンドなのですが・・・。
179 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 18:51:14 ] system関数
180 名前:178 mailto:sage [2007/06/07(木) 18:51:42 ] まぁ、要はJAVAのコンパイルが面倒なのでドラッグするだけで出来るソフトをCで作りたいって話なんです。
181 名前:178 mailto:sage [2007/06/07(木) 18:54:29 ] >>179 ありがとうございます。 ちょっとやってみます。
182 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:19:13 ] strcmp(buf, '\0'); でエラーが出るのですが、何か書式を間違ってるでしょうか? 文字列を最後まで1文字ずつ取得して、文字数を数えるプログラムを作ろうとしています。 最後取得したら\0がbufに入ると思うのですが、上の文でエラーが・・・
183 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:23:49 ] >>182 www.linux.or.jp/JM/html/LDP_man-pages/man3/strcmp.3.html 引数の型が違う。(というかたぶんstrcmp()が何をする関数なのか勘違いしている)
184 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:26:23 ] そもそもそんな関数呼ぶくらいならstrlenでいいじゃん
185 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:37:02 ] >>183 とりあえずnullmoji[2]に'\0'を入れてstrcmpをしたら正常に動作しました。 ありがとうございました。 >>184 そういう課題なんです・・・
186 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:42:50 ] C++でクラスを書くとき、Javaの書き方に合わせようと思って、 #define Public public: #define Private private: #define Protected protected: って定義して、んでヘッダファイルを Public int getNum(); Public void setNum(int num); みたいに書いてみたんだけど、これと似たようなことをやる人は多い? それとも明らかにC++の常識からは外れた書き方?
187 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:46:56 ] 他言語を真似るマクロは愚の骨頂だと俺は思う なにより読みにくいし、なら java でかけよと言いたい
188 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:52:34 ] >>186 m9( ´,_‥`)プッ
189 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:56:46 ] つか Javaってpublicだのprivateだのの先頭、いつから大文字で書くようになったんだ
190 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:57:08 ] >>186 PASCAL風に #define BEGIN } #define END } なんてやられたソースをおまえは許せるんだな?
191 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:59:41 ] Bourne shellの作者のSteve BourneがALGOL風のトンチキなマクロを定義して シェルを書いたのは(勿論悪い意味で)有名
192 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:20:55 ] >>187 関数一覧をカテゴリ別に並べて書きたくて…… >>188 (´・ω・`) >>189 いや先頭が小文字のpublicとかは予約語なんで >>190 ……ええと、すいません
193 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:23:51 ] マクロなんだから予約語も糞もないだろ
194 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:26:05 ] #define for if(0); else for とかできるんだぜ。
195 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:29:36 ] >>186 やるな。 理由は色々あるが、一番実害があるのはこんなところか。 #define public public: としたとして、 class A { public void foo(); void bar(); }; の bar のアクセス指定がどうなるか考えてみよう。 これは public だ。 だが、見た目から直感的に感じるのは private だろう。 こういう齟齬が発生するから、してはいけない。
196 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:29:41 ] >>192 あほすぎw
197 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:37:01 ] >>194 for (int i=0; ...) { // スコープ1 } // スコープ2 でi がスコープ2 まで有効な特殊系(VCだなっ) を回避する常套句ですな
198 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:41:40 ] ふるっ
199 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 22:09:01 ] 特殊っていうか、昔はそれで仕様通りだったと思う。
200 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 23:01:19 ] そういえばVisual C++で.NETアプリケーションのウィザードを使うと、 public: void Hoge()なんてコードを出していた気がする
201 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 23:03:36 ] >>199 それが仕様だったかも知れないが、規格にはなっていない罠。
202 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 23:06:05 ] ふるーい規格の話だけど、 それでもなってないの?
203 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 23:07:51 ] ARMやドラフトを規格だと言うのなら 規格になっていたと言うがいい
204 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 23:26:13 ] なるほど。ドラフト段階でしかこの仕様はなかったわけか。
205 名前:178 mailto:sage [2007/06/07(木) 23:43:26 ] >>178 です。とりあえずサンプルってことで system("cd c:\\java"); system("java HelloWorld"); で実行したみたのですが、 Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld と出てしまいます。普通にコマンドプロンプトでcd c:\javaとjava HelloWorldを打ち込んだときは 正常に動作するのですが、何かsystemでやるときに特別に何かしなければいけない事があるのでしょうか?
206 名前:178 mailto:sage [2007/06/07(木) 23:49:32 ] というよりも、system("cd c:\\java");のあとに system("dir")を実行したら、javaディレクトリが表示されずに、 プロジェクトのディレクトリが表示されるのですが・・・
207 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 23:52:22 ] system("java c:\\java\\HelloWorld");じゃ駄目なの?
208 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 23:52:57 ] それぞれのsystem呼出は、細切れになるから 1度のsystem呼出で済ませるようにしろ 絶対パスで指定するとか、バッチファイルを作ってそれをsystemで呼ぶとか
209 名前:178 mailto:sage [2007/06/07(木) 23:56:35 ] 一回ごとに細切れなんですか・・・。結構面倒ですねw とりあえずsystem("java c:\\java\\HelloWorld");で実行してみたのですが、やはり Exception in thread "main" java.lang.NoClassDefFoundError: c:\java\HelloWorld と出てしまいます。う〜ん・・・
210 名前:178 mailto:sage [2007/06/08(金) 00:06:01 ] system("javac c:\\java\\HelloWorld.java"); は普通に実行できてるっぽいです。javaコマンドだけ何で出来ないのかな;;
211 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 00:12:18 ] カレントに存在する必要があるのかな? それとも区切り文字か。 ってことで、system("cd c:\\java; java HelloWord")とsystem("java c:/java/HelloWordl")を試して味噌。
212 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 00:21:01 ] 先にコマンドプロントにjava c:\java\HelloWorldに打ち込んでみれば?
213 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 09:35:51 ] >>212 普通はそれを最初にやるわな
214 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 10:47:42 ] C++の参照は、中身はポインタと同じで、参照先のアドレスがメモリに記憶されてるんですか? (関数内で参照をいくつか用いると、それだけスタック使うことになりますか?)
215 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 10:55:06 ] >(関数内で参照をいくつか用いると、それだけスタック使うことになりますか?) 質問の意図が読めんが… 関数の引数で 値渡しした場合には 値が持つ大きさ だけスタックに詰まれる 参照渡しした場合には ポインタが持つ大きさ だけスタックに詰まれる
216 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 11:34:37 ] >>214 通常変数がスタックを消費する保証はない。 まして、参照変数がスタックを消費するかどうかはコンパイラ次第。