1 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:26:08 ] エスケープシーケンスやWin32APIなどの環境依存な物でもOK。 ただしその場合、質問者は必ず、環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.40【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1184717430/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
231 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 08:45:40 ] そりゃそうだ。
232 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 09:30:33 ] 基本に戻るような質問 VC8Express (cl v14.00.50727.762 for 80x86)で、 void main(void){main();} を、 cl /MD stackov.cpp でコンパイルして実行しても、黙って落ちるだけで、_invoke_watsonされない そういう例外って、なにかしらダイアログ出して落ちるものとばかり思っていたのに 昔からこんなでしたっけ、これってこういうもん?
233 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 10:19:39 ] スタックオーバーフローで落ちるだけじゃないの?
234 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 11:51:22 ] うん。まさに、スタックオーバーフローで落ち… …たときに、アプリケーションエラーって出ないのが デバッガから起動すれば、ちゃんと Stack overflow - code c00000fd (first chance) って捕捉されるんだけど…。
235 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:08:26 ] コンソールアプリだからじゃないのかな。
236 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:10:47 ] int ch = ' ' if (!isspace(ch) && !iscntrl(ch)) break; という文なのですが、 何故かbreakされてしまいます。 chがスペースでないときかつchが制御文字でないとき にbreakされるはずなのですが、条件式間違っているでしょうか?
237 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:14:01 ] gcc gdbではSIGSEGVでstack over flowにならんのだけど 検出する方法は別にあるんだろうな、あるんだろうね
238 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:26:17 ] >>236 動かない断片を提示されてもなんとも言えませんが。 症状を再現できる最低限のロジックを提示してみてください。
239 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:33:45 ] iscntrl()はロケールに依存するとされるし、 chか、iscntrl()の挙動が直感に反しているのでは printf("%x: %d, %d\n",ch,isspace(ch),iscntrl(ch)); をifの前に置いてみては。
240 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:41:07 ] >>232 気になって試した どうもスタックのサイズによるみたい void main(void){ char cc[4096]; main(); } とすればダイアログはでる。 (アセンブラ見ると、__chkstk の呼び出しが追加されてる) ただし、VCのオプション的にはスタックサイズが4Kより小さいときでも、 /Gs0 とか付ければいけそうに思えるし、実際アセンブラリストに __chkstk の名前でてるんだけどダイアログはでない。謎。
241 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:44:01 ] >>238 ,239 失礼です。 IDEでソースコードを読んでるんですが、動きが気になったので static int skip_space(void) { int ch ; for (;;){ if ((ch = getc(stdin)) < 0) return -1; /* end-of-file */ if (!isspace(ch) && !iscntrl(ch)) break; } return ch; } chに'¥t'や' 'を代入して/*if ((ch = getc(stdin)) < 0) return -1; */ として、ステップオーバーしていったのですが、 > if (!isspace(ch) && !iscntrl(ch)) の段階で止まってしまって、ブレイクしたのかなと思って。
242 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:50:44 ] 誰か、エスパー頼む
243 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 13:42:25 ] >>241 関数名から推測して static int skip_space(void) を呼び出す上位関数に問題があるんじゃないか?例えば int main(void) { int ch; for(;;) { if(-1 == (ch = skip_space())) break; putc(ch,stdout); } return 0; } とか。
244 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 14:16:01 ] ははぁ、成る程! ちなみに (!isspace(ch) && !iscntrl(ch)) な文字コードってどんなのが当てはまりますかね?
245 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 14:38:10 ] >>244 空白文字でも制御文字でもない文字。 まぁ、大抵の可読文字が該当する罠。
246 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 16:49:05 ] すいませんわかりました。 自分馬鹿だorz ほんと皆さん電波な質問して申し訳有りません 二徹して疲れたので寝ます
247 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:57:05 ] eclipse with CDTが生成したmakefile用の依存リストで src/test.d src/test.o: ../src/test.cpp \ H:/root/usr/src/boost/boost/shared_ptr.hpp \ H:/root/usr/src/boost/boost/config.hpp \
248 名前:247 mailto:sage [2007/08/13(月) 19:03:44 ] (ミスして送信しちまったorz 続き) の最初の行で multiple target pattern stop とmakeがエラーになるんですが、 これはどうすれば解決するんでしょうか? test.dと.oのルールを同じ行で定義しているのが問題かと思ってわけてみたり test.d(つまり自分自身)のルールを定義しているのが問題かた思ってtest.dを消してみましたが 解決しませんでした
249 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 19:48:51 ] インクルードパスにドライブ名が入ってるとだめらしい C: とか H: とか 代わりに /cygdrive/c/ や /cygdrive/h/ を使うと大丈夫とかいうことらしい
250 名前:247 mailto:sage [2007/08/13(月) 20:15:55 ] >>249 そのようにしたらmakeのエラーは消えdebugができるようになりました しかし今度は Invalid project path: Include path not found (\cygdrive\\root\usr\src\boost) のような警告がでてきましが、これなら実害ないので我慢します 助言ありがとうございました
251 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 06:40:57 ] char *parse( char *buff ) { int c; int at = 0; while( (c = getchar()) != EOF ) { if( isdigit( c ) ) { buff[at++] = c; } else if( isspace( c ) ) { if( at == 0 ) { continue; } else { buff[at] = '¥0'; return buff; } } } int main( void ) { char buff[256]; int i; for(i=0;i<256;i++) buff[i] = 0; char *s; while( (s = parse( buff )) != NULL ) { printf( "read %s¥n", s ); } } というプログラムなのですが、 これって¥0とNULLが同じってことですよね。 buffはただのchar型の配列のはずなのになぜ¥0がNULLになるんでしょうか? char *buff[256]ならNULLで判定出来るのは理解出来るのですが。
252 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 07:26:45 ] NULLはヌルポインタ、\0はヌル文字 当然、ヌル終端文字列は後者を末尾に持つ
253 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 07:27:29 ] parse内のgetcharがEOFだった時、何を返すんだ? 思いっきりバグ、もしくはコピペミスだろ。
254 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 07:27:44 ] どこの\0とどこのNULLだ? 12行目の'\0'と24行目のNULLなら別物だし、 比較も代入もしていないが
255 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 07:37:24 ] parseからNULL返って来ないな
256 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 07:40:16 ] お前ら朝から優しいな
257 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 07:41:58 ] あーそうか、parseが切れてるのか。 {}が対応してないな。
258 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 07:54:20 ] 朝から結構人がいてワロタw
259 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 08:15:31 ] こんな感じで隠れてる (⌒─-⌒) EXILE!EXILE! 〃((´・ω・`)) ミ ○ ((´・ω・`)) O((´・ω・`)) Oヽ( )〃ノO ∪⌒∪ """ "" " """ "" " """ "" " ""
260 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 09:55:22 ] 亀ですが >>240 ありです、それかもな感じ 何かがひらめいた予感 ちょっと調べてみます >>235 ちなみに、WinMainでやってみても、なんもいわれんかったのです;
261 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 12:54:16 ] >>251 コンパイルできるソースをもってきてください。 それから処理系によって'\0'とNULLは同じじゃない。 #define NULL ((void *)0) と定義してあったら違う型。 #define NULL 0 と定義してあったら同じ型として扱える。 '\0'は、int型の整数だから後者の処理系なら比較できてしまう。 ~~~~~ しかし、もともとNULLはヌルポインタ(どこも指していないポインタ)を意味しているので '\0'(整数)とNULL(ポインタ)の比較をしているソースは窓から放り投げろ。 推測だが、char *parse(char *buff) の最後の方は、こんなふうになってるんだろう。 buff[at] = '\0'; return buff; } } } return NULL; } それから、buff[256]はスタックオーバーしていて不定な値だ。 *buff[256]なんてどこを指しているかわかりゃしない。NULLじゃない。 このプログラムは、文字数を判定していないから、'\0'を入れて256文字以上になると スタックオーバーで動作は不定になる。うまく動いてもそれは運がいいだけ。
262 名前:251 mailto:sage [2007/08/14(火) 13:07:51 ] どうやってソースを窓から放り投げるんだ・・・?
263 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 13:12:15 ] ソースを窓から放り投げるを開始するには、まず窓を開けます。
264 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 13:12:43 ] バッファオーバーフローであってスタックオーバーフローとは(ry
265 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 13:21:55 ] なぜこれがコンパイルエラーになるのですか? class A { public: void hoge(int i) { MessageBox(NULL, _T("A"), _T("hoge(int)"), 0);} virtual void hoge() = 0; }; class B : public A { public: void hoge() { MessageBox(NULL, _T("B"), _T("hoge()"), 0); } }; int _tmain(int argc, TCHAR **argv) { B b; b.hoge(1); // コンパイルエラー C2660 }
266 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 13:24:09 ] なんでそんなこともわからないのですか?
267 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 13:29:50 ] >>266 まぁそう言わんと。 >>265 EffectiveC++を読むことをお勧めしておきます。
268 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 13:47:53 ] >>266 初心者だからです。例えば、以下のJavaのソースはコンパイルが通るので、C++でも同様のことが可能かを考えています。 public class Test1 { public static void main(String[] args) { B b = new B(); b.hoge(1); } } abstract class A { public void hoge(int i) {System.out.println("A : hoge(int)");} public abstract void hoge(); } class B extends A { public void hoge() {System.out.println("B : hoge()");} } >>267 このあたりですか? ttp://www002.upp.so-net.ne.jp/ys_oota/effec/chapter6.htm#36kou 265のclass Aのhoge(int)はhogeImplのようにするこで解決できました。ありがとうございます。
269 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 14:09:57 ] >>265 ,268 hoge という名前の関数は B に 1 個あるので、それ以上辿って A まで探しには行かない で、見つかった hoge() は引数が一致しないのでエラー C++ と Java が一緒だと思ってるのが間違い
270 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 14:12:39 ] >>269 >hoge という名前の関数は B に 1 個あるので、それ以上辿って A まで探しには行かない なるほど。すっきりしました。ありがとうございます。
271 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 16:26:39 ] wavファイルの再生について質問があります。 PlaySoundを使う方法は簡単にできたのですが、wavファイルを実行ファイルに組み込むことはできるのでしょうか? できるなら、方法や資料を教えて頂けませんか? 宜しくお願いします。
272 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 16:44:38 ] とりあえずC/C++とは関係ない
273 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 16:46:19 ] 実行ファイルの種類による
274 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 16:47:42 ] PlaySound リソース でぐぐれば?
275 名前:271 mailto:sage [2007/08/14(火) 17:15:30 ] PlaySoundでできるとは思っていませんでした。 本当に助かりました。ありがとうございます。
276 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 19:59:40 ] 関数テンプレートの特殊化ってできないんですか? もしできないのなら、いずれ出来るようになる見込はありますか? template <typename T, typename U> void func(T&) {} template <typename T> void func<T,int>(T& u) {} error : partial specialization `Func<T, int>' of function template
277 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 20:24:53 ] >>268 そんなサイトあったのか、本買っちゃったよ
278 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 20:34:59 ] >>276 テンプレートパラメータの制限は関数とクラスで微妙に違う。 ただ、パラメータを常に指定するなら↓で同じことができるはず。 template <typename T, typename U> class func_object { explicit func_object(T&) { ... } };: template <typename T> class func<T, int> { explicit func_object(T& u) { ... } }; 使い方 func_object<A,B>(x); func_object<C,int>(y);
279 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 20:44:54 ] >>277 そのサイトはヒント程度だぞ。何やら勘違いに近い記述も見られるし、本は読むべき。
280 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 20:56:11 ] >>276 関数テンプレートの場合、完全な特殊化はできるが部分特殊化は出来ない。 代わりに関数オーバーロードが使える。
281 名前:276 mailto:sage [2007/08/14(火) 21:48:52 ] やっぱ無理なんすか テンプレート引数を汎用関数のtraitsとして利用したかったのですが… 変数の型を態々書くくらいなら関数オブジェクトとして作る方が良さそうですね
282 名前:261 mailto:sage [2007/08/14(火) 23:00:51 ] >>264 え?スタックオーバーフローなんて一言も言ってませんがなにか? ~~~~~~
283 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 03:27:58 ] >>282 コレは他人が装ってる釣りか? ちょっと釣られて見ますよ
284 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 04:00:47 ] 演算子の優先順位についての注意。インクリメント(++)/デクリメント(-- --)演算子と間接参照演算子(*) の優先順位は、間接参照の方が低い。だから、 while(1){ sub( *++p ); } というコードは頻出するが、単独の文 *++p; は間接参照の文が無意味である。(ポインタpをインクリメントした後で、ポインタが示す値を参照し、値を捨てる) って言う文があるのですが、 「単独の文 *++p; は間接参照の文が無意味である。」 ってどう意味なのでしょうか? 実例を挙げていただけないでしょうか。
285 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 04:12:51 ] >>284 間接参照演算子「*」 間接参照はポインタの先を「*」で参照すること。 int main(){ int a=10; int *p=&a; *p; /* <- この文意味ないべ? */ return 0; }
286 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 05:07:32 ] ああ、そういう意味だったんですか。 分かりました。 自分、日本語読む力が無いなぁ。
287 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 05:31:19 ] >>284 これおかしいな。 ここで例としてあげるべきなのは *p++ であって *++p ではない。 そもそも * と 前置 ++/-- とは優先順位が同じだ。
288 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 07:12:56 ] >>284 内容がひどいのでさらしておこう。 www.nurs.or.jp/~sug/soft/tora/tora6.htm
289 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 08:09:10 ] >sub( *++p ); >というコードは頻出するが こらこら、副作用があるコードを関数呼び出しで書いちゃ遺憾。 もしこのサイトにあるように頻出するとしたら、よっぽど腐った環境だ。 つーか、このサイト管理者、頭大丈夫か? www.nurs.or.jp/~sug/soft/index.htm
290 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 08:21:09 ] 別に書いていいだろう。 未定義動作でもあるまいし。 コーディングスタイルの話としても、 宗教戦争になる程度のこうじゃないといけないとは言えない内容だな。
291 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 08:29:14 ] >>290 その「sub()がマクロだったら」と考えてみてくれ。 いつ仕様変更でそのようなことになっても大丈夫なように副作用を発生させないのは常識だ。
292 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 08:35:04 ] それだったら*++pではない場合にもいえてしまうんじゃないの? マクロってなんなのかしらないけど
293 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 08:43:51 ] なんだ、ただのもの知らずか。たとえばこんなの。 #define sub(x) (x < 0 ? -x : x)
294 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 08:44:08 ] >>289 >こらこら、副作用があるコードを関数呼び出しで書いちゃ遺憾。 どいう意味?
295 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 08:56:22 ] >>293 なるほど、マクロって絶対値ってことか
296 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 08:58:23 ] そうだよ。でもここは君の居る所じゃないんだ。そろそろママの所に行っておいで
297 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:11:47 ] >>296 いや、違うでしょ?
298 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:12:45 ] >>297 そうだね。でもここは君の居る所じゃないんだ。そろそろママの所に行っておいで
299 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:14:25 ] 初心者歓迎とかスレタイにあるのに何やってるの
300 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:21:19 ] >>299 そうだね。でもここは君の居る所じゃないんだ。そろそろママの所に行っておいで
301 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:27:40 ] 恥ずかしいからってそんな連投しなくてもいいのに
302 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:30:09 ] あんああんあんああんあん
303 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:30:30 ] >>301 そうだね。でもここは君の居る所じゃないんだ。そろそろママの所に行っておいで
304 名前:292 mailto:sage [2007/08/15(水) 09:35:28 ] >>300 ,>>303 あなたの相手は僕でしょ?
305 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:36:37 ] >>304 そうだね。でもここは君の居る所じゃないんだ。そろそろママの所に行っておいで
306 名前:292 mailto:sage [2007/08/15(水) 09:38:05 ] マクロも知らなかった初心者に指摘されたのが悔しかったの? プライドを傷つけてごめんね
307 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:42:16 ] マクロも知らない初心者の来る所じゃないんだ。 どれだけそいつに時間とレスを割く必要があるか分かるだろう? そんなレベルの低い奴が来ると釣りかと思う。
308 名前:292 mailto:sage [2007/08/15(水) 09:45:23 ] >>307 マクロ知らないとは書き添えたけど質問したわけではありません あなたの勇み足では?
309 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:49:39 ] >>306 の言ってる指摘ってひょっとするとコレ? >それだったら*++pではない場合にもいえてしまうんじゃないの? いくらなんでもマジとは思えん(だから>>293 もスルーしたんだろう)。
310 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:50:25 ] >>308 みんな馬鹿で、お前だけが正しいことを言ってる。 誰もお前の頭の良さについていけなくて、悔しさのあまり暴れてるだけなんだよ。 だからママの所に行っておいで。
311 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:52:13 ] >>307 >どれだけそいつに時間とレスを割く必要があるか分かるだろう? って >そうだね。でもここは君の居る所じゃないんだ。そろそろママの所に行っておいで の事かwアホじゃね?
312 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:53:52 ] >>311 日本語でおk
313 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:53:59 ] >>311 アホですね
314 名前:292 mailto:sage [2007/08/15(水) 09:55:13 ] >>309 >>293 のこれだけのレスをみれば、意図的にスルーしているとはとても…
315 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:55:59 ] >>314 その辺が低脳。全て293のレスだと思ってやがる。
316 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:57:26 ] >>315 見苦しい言い訳
317 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 09:57:57 ] >>315 あああなたでしたかごめんなさいね
318 名前:307 mailto:sage [2007/08/15(水) 09:58:34 ] どうせ俺の事も>>293 だと思って勇み足で回答したとでも言いたいんだろう? マクロも知らない初心者の来る所じゃないんだと思っている奴が、 わざわざマクロも知らない初心者に答えるわけがないだろう。
319 名前:292 mailto:sage [2007/08/15(水) 09:58:49 ] >>317 は僕です しっかり名乗ります!
320 名前:292 mailto:sage [2007/08/15(水) 10:00:03 ] >>318 マクロくらいわかるよw フィーリングでね
321 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:00:14 ] どう見ても292の方が見苦しい言い訳。 バカなんだからバカにされたくらいでレス繰り返さなくてもいいのに
322 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:01:24 ] >>320 フィーリングで分かるなら空気くらい読めるだろ?
323 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:02:59 ] >>295 はうまい荒らしだったな
324 名前:292 mailto:sage [2007/08/15(水) 10:03:36 ] あ、ずっと安価間違ってた >>291 さんでした
325 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:03:55 ] >>318 初心者に答えるわけがない なんてレスの無駄だから偉そうに宣言しなくてもいいよw 答えないんじゃなくて答えられないんだろ
326 名前:309 mailto:sage [2007/08/15(水) 10:16:16 ] 結局>>306 の言ってる指摘ってのはコレな訳? >それだったら*++pではない場合にもいえてしまうんじゃないの?
327 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:18:32 ] >>326 かもしれないけど、なにしろ何がどう「いえてしまう」のか まるでわからん文章だからなぁ。
328 名前:309 mailto:sage [2007/08/15(水) 10:19:46 ] >>326 意味わからんよなー
329 名前:309 mailto:sage [2007/08/15(水) 10:23:07 ] >>326 多分、>>289 から続く >副作用があるコードを関数呼び出しで書いちゃ遺憾。 について言ってるんだと思う。
330 名前:329=309 mailto:sage [2007/08/15(水) 10:25:08 ] アンカーミス。>>327 ね。 後、>>328 誰だw
331 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:26:15 ] マクロに放り込むんだり引数の評価順に左右されるような場合はマズいけど 別にこのケースは何の問題も無いわな スタイルとして自分がそう心がけているというだけの話なら ご立派ですねで終わりだが 実にどうでもいい