- 1 名前:デフォルトの名無しさん [2009/07/18(土) 02:54:58 ]
- C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。 前スレ C++相談室 part70 pc12.2ch.net/test/read.cgi/tech/1244942050/l50
- 596 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 20:51:40 ]
- goto使うなんて言ったら最後、
何回レビューして注意書き何箇所に追記せにゃならんか・・・ って状況でもなければ作って走らせて比較してみては?
- 597 名前:594 mailto:sage [2009/08/14(金) 21:05:25 ]
- >>595
> そのコンストラクタを避けるのは本当に必要なことか? そのコンストラクタはhoge_t型をテンプレート引数にもつクラステンプレートの ものであるため、hoge_t次第で重さが変わります。 > 何か速度的に重要な場面? 速度はあまり重要ではありません。 >>596 gotoを使ってあると、 「こいつ(の技術や作ったクラステンプレートは)大丈夫か?」 って思われますかね、やっぱ。
- 598 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 21:10:01 ]
- 使う理由とドキュメンテーションがしっかりしてればいいんじゃね
- 599 名前:594 mailto:sage [2009/08/14(金) 21:19:45 ]
- びびってきたんで止めときます。
こうして一生gotoを使わないまま過ごしそうです。
- 600 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 21:23:24 ]
- テンプレートの初心者です。
次のキューを実装するコード kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9901.txt でデータの型についてテンプレート化しようとして kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9902.txt とすると、上記ファイルの末尾にあるようなエラーが発生します。 これは、テンプレート関係の記述をどのようにすればいいのでしょうか。 理由あって、仮想関数を仕様しています。(スタックも実装する予定なのです。) もしよろしければ見てやってください。よろしくお願いいたします。
- 601 名前:600 mailto:sage [2009/08/14(金) 21:31:02 ]
- エラーの表示を忘れておりました。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9903.txt なにとぞお願いいたします。
- 602 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 21:34:57 ]
- class queue { 〜 } の中に using DataStruct<T>::buff; と書く
- 603 名前:600 mailto:sage [2009/08/14(金) 21:40:38 ]
- ありがとうございました。
テンプレートについて詳しく書かれた教科書を探さなければ。
- 604 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 21:41:26 ]
- >>597
MISRA-Cなんかだと例外処理の時のみ認められてるかな? gotoその物は悪くないんだ、ただ下手な使い手が多かっただけで、 このあたりはアメリカの銃問題と似たような感じ、 銃が悪いのか銃を使った人間が悪いのか、 銃が悪いのか、子供の手の届くところに銃を放置した親が悪いのか、ってな感じでね。 そのgoto使う箇所ってどのくらいの頻度で呼ばれるの? CPUもメモリも豊かな時代だからよほどのことがない限り使わないけど。
- 605 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 21:44:41 ]
- >>597
よく読んでなかったスマソ 実行速度はもちろん、コードの可読性が上がるみたいな理由がなければ、 基本的に使わないのが無難かな、 イスラム教徒とか黒人だってだけで差別されるっしょ? あんな感じよ。
- 606 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 22:19:34 ]
- そこまでの差別意識はないけど、ここ十数年gotoは使ったことない。
使う理由が見出せないだけだがな。もしgoto使った人間が近くにいたら、 理由を聞いて見たい、いや問い詰めたい気分がするのは間違いない。
- 607 名前:597 mailto:sage [2009/08/14(金) 22:48:52 ]
- >>604
呼ばれる頻度はたいしたこと無いと思います。 >>605 可読性はむしろ下がると思います。 >>606 ですよね、自分も他の人間が使っていたら是非聞いてみたいと思います。 やはり使わないのが無難という感じでしょうか。。。
- 608 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 22:57:04 ]
- 俺はそれほど気にしない派
しかし可読性が下がるのは戴けない 速度がよほど気になる場合以外は、可読性を取るべき
- 609 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 23:02:02 ]
- 末尾再帰したいけど最適化が保証されないからgoto使ったことあったかも
- 610 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 00:32:54 ]
- gotoでコンストラクタが1回避けられる状況ってほうが謎だ・・・
- 611 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 03:07:19 ]
- 条件演算子で避けられたりしないか?
- 612 名前:597 mailto:sage [2009/08/15(土) 08:12:23 ]
- ありがとうございます。
> gotoでコンストラクタが1回避けられる状況ってほうが謎だ・・・ 既に作ってあるオブジェクトを返せばいいっていう状況です。 ちょっとここのあたり(もしgotoを使ったら)スパゲティプログラムに突入します。 > 条件演算子で避けられたりしないか? さけがたいです。
- 613 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 09:10:29 ]
- >>612
ifとauto_ptrで回避できると思うんだがどうよ もっとも、実行速度にあまり影響ないなら分岐を避けたほうがいいかもね
- 614 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 11:44:18 ]
- VC++6.0をもってるんだけど、これで勉強すればいいのかなぁ?7.0とかあるの?
- 615 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 11:48:38 ]
- VC6は窓から捨てるべき
2008のExpressを使いなさい
- 616 名前:612 mailto:sage [2009/08/15(土) 12:51:19 ]
- >>613
newして得たオブジェクトでしたらauto_ptrを使うことも考えますが、そうではないのでこのまま分岐を避けようと思います。 >>614 VC6で勉強するのは、今現在は相当悪い選択肢だと思いますよ。 VC8かgccがオススメです。
- 617 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 12:56:27 ]
- >>614
特別な理由がなければ、VC++6.0より下記の製品のどれかの方が断然いいよ。全部タダだし。 Microsoft Visual Studio 2008 Express Edition www.microsoft.com/japan/msdn/vstudio/express/
- 618 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 13:06:23 ]
- >>617
dクス
- 619 名前:デフォルトの名無しさん [2009/08/15(土) 13:15:06 ]
- VC6は現行の標準C++じゃないと思ったほうがいい。
C++ライクなVC6独自言語だと思いましょう。
- 620 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 13:40:27 ]
- >>619
kwsk
- 621 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 14:02:26 ]
- コンストラクタで配列の要素数を自動で取得したいのですが...
TCHAR a[] = _T("123"); my_array<TCHAR> v = a; 見たいなことをやりたい 理想は、 my_array<TCHAR> v = _T("123"); だけどこっちはまあいいや
- 622 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 14:42:39 ]
- my_arrayが何かわからないけどこういうこと?
std::basic_string<TCHAR> v = _T("123");
- 623 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 14:45:04 ]
- こうですねわかります
template<typename T> struct my_array { template<std::size_t L> my_array(T (&a)[L]) { std::cout << "length: " << L << std::endl; } template<std::size_t L> my_array(T const (&a)[L]) { std::cout << "length: " << L << std::endl; } }; int main() { my_array<TCHAR> v = _T("123"); }
- 624 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 14:48:17 ]
- 次のコードをコンパイルすると、リンカがエラーを吐きます。
codepad.org/Lrswof7O 何処が悪いのでしょうか?
- 625 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 14:58:01 ]
- 変数の実体がない。
myclassスコープ外で int myclass::i=0;
- 626 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 14:59:28 ]
- >>622
ごめんクラスを作りたかったんだ >>623 おーすげーまさにそれです C++は奥が深い
- 627 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 17:24:21 ]
- >>624
実体を定義しろ。 C++ code - 23 lines - codepad ttp://codepad.org/XPEjNpOy これが正解。
- 628 名前:624 mailto:sage [2009/08/15(土) 19:38:06 ]
- >>625, >>627
ありがとうございます。そういうことなんですね。 これからもちょくちょくこのような初心の質問にあがると思いますが、どうかよろしくお願いいたします。
- 629 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:13:54 ]
- C++で、
誤差のない小数計算(実数計算)が出来るライブラリは ありませんか? Boostにはなさそうで。
- 630 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:30:11 ]
- どんな計算をしたいのか?
- 631 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:45:45 ]
- 三角関数です。
誤差のない小数計算型 x; sin(x)+cos(x) とかです。
- 632 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:48:26 ]
- その計算結果をどのような形で受け取りたいの?
- 633 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:50:58 ]
- >>629
有限ビットで誤差が無いなんて可能なんですかね? 僕も知りたいです。
- 634 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:55:51 ]
- >>633
有理数ならboost::rationalで表現できる。
- 635 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 09:02:25 ]
- RealLibでも使えば?
- 636 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 11:02:56 ]
- 三角関数は一部の結果を除いて無理数でしょ。
- 637 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 11:39:52 ]
- >>635
RealLibは遅延評価で計算してるのかな?
- 638 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 12:23:49 ]
- >>634
三角関数といっているではないか。
- 639 名前:629 mailto:sage [2009/08/16(日) 12:33:08 ]
- >>632
同じ型の変数で受け取りたいです >>635 ありがとうございます。 スレがあるんですね。 ttp://pc12.2ch.net/test/read.cgi/tech/1248060999/ このスレの>>8さんの発言 「こんなの使わなくたってVW使えばふんがっふんぐっ」 の、VWって何でしょうか? そういうライブラリがあるのでしょうか?
- 640 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 12:46:20 ]
- 710 名前:□7×7=4□□[sage] 投稿日:2009/07/29(水) 19:17:00 ID:X3ZTVshE
[タイトル] Cargo Bridge [タイプ] 橋かけ・構造力学パズル [URL] www.limexgames.com/ [感想] bridge builderとかやったことある人ならわかりやすいとおもう。 キャラクタが荷物を押して倉庫まで運ぶために、途中の谷に橋をかけるゲーム。 パーツは4種類あり、足場になるパーツと足場にならず支えにだけなるパーツ、それぞれが木製と鉄製の2種類ずつ。 足場になるものの方が高価で、鉄製の方が高価。はじめは木製の2種類だけが使える。 使用できるパーツは右上の予算範囲内に抑えなければならない。安上がりでできるほど高得点。 橋にかかる負荷が、キャラクタが運ぶ荷物の種類によっても大きく変化したり、片道でいいところと往復するところがあったり、 いろいろ考える要素の多いゲーム。今16面挑戦中。 キャラクタが谷に落ちていくときの声がシュールw こういうゲームがあるんだけど、参考ソースとかってどっかにないかな・・・
- 641 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 12:50:14 ]
- linear programmingでwikipedia.enれ
- 642 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 13:13:29 ]
- >>641
それは計算機にゲームを解かせる場合の方法論であって、ゲームの作り方の ガイドにはならんだろ。
- 643 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 13:26:01 ]
- >>639
最終的に計算結果として数値が欲しいのでは?
- 644 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 13:27:18 ]
- >>640
デザインパターンのどれかに当てはまりそうだけどちょっと思いつかないわ。
- 645 名前:639 [2009/08/16(日) 13:35:21 ]
- >>643
最終的には文字列表記で計算結果が欲しいです。
- 646 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 13:38:44 ]
- >>640
こういうゲーム大好きだw 参考ソースは思い浮かばないけど、 高校物理の力学をシミュレートしてるだけに過ぎないのでは?
- 647 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 14:00:32 ]
- >>646
数理計画法(シンプレックス法)では?
- 648 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 14:12:22 ]
- FEMだろ
- 649 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 14:14:17 ]
- >>648
有限要素法ではないと思う。別に力学的解析が必要なわけではないし。
- 650 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 14:20:28 ]
- >>648
それだ!
- 651 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 14:32:00 ]
- 具体的に何桁の精度が必要なのか明示しないと無理なんじゃない?
浮動小数点とかの概念も知らなさそうだし。
- 652 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 14:36:39 ]
- ∧_∧ / ̄ ̄ ̄ ̄ ̄
( ‘∀‘)< オマエガナー ( ) \_____ | | | (__)_)
- 653 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 14:39:13 ]
- >>640
コードは知らないが、ニュートン力学で十分シミュレートできるだろうね。 パラメータの調整が面倒だと思うが。 >>647 既に上で言及されている。linear programming = 線形計画法。 シンプレックス方は線形計画法の解き方の一つ。
- 654 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 14:48:58 ]
- 線形計画法は関係ないな
- 655 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 14:53:36 ]
- くみ上げるのはユーザーなんだから、
最適解の算出とか不要でしょ
- 656 名前:642 mailto:sage [2009/08/16(日) 15:22:35 ]
- だから関係ないって言っているんだが。
- 657 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:32:42 ]
- >>645
文字列って、数式の文字列?だったらmathmaticaを使えばいいんじゃないかな。
- 658 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:40:48 ]
- >>657
ライブラリを求めてるんだろ。 お前ライブラリの意味分かってる?
- 659 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:55:36 ]
- 数式処理ライブラリがあるなら教えて
- 660 名前:658 mailto:sage [2009/08/16(日) 17:19:14 ]
- >>659
しらね。 自分で探せよ。
- 661 名前:639 mailto:sage [2009/08/16(日) 17:30:05 ]
- >>657
いえ、ただ出力するときに std::cout << static_cast<double>(計算結果) などいうバカなことはしないってことです。 ようするに出力時には精度指定で std::stringもしくはconst char* const型 で結果が得られると良いのですが。
- 662 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 17:49:04 ]
- >>691
最終的に有限の精度で返すなら誤差は存在することになりますね。 従って計算は、最終的に必要な精度が得られる有限の精度で(誤差のある)計算をすればよいことになります。
- 663 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 17:52:37 ]
- >>662
ttp://gmplib.org でも使っとけ
- 664 名前:639 mailto:sage [2009/08/16(日) 18:19:31 ]
- >>662
そうでも無いのです。 例えば sin(acos(-1)) などです。
- 665 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 18:24:51 ]
- だから数式処理システム使えよ
- 666 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 18:36:18 ]
- >>665
ライブラリが欲しいのです。 数式処理システムだと使い物になりません。 あと、数式には文字式はありません。
- 667 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 19:37:37 ]
- >>644
>>646 >>653 dクス あぁ〜作ってみてぇ シンプレックス法か
- 668 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 19:54:08 ]
- >>664
結果が0にならないね。有限の精度ならそうなるし、数値演算ではよくある話になる。 その辺はいろいろテクニックを使うんだ。たとえばsqrt(1.0-x*x)を使うとか。 数値演算の誤差について調べたほうがいい。
- 669 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 20:32:39 ]
- そんなことは知った上で聞いてると思うが
- 670 名前:639 mailto:sage [2009/08/16(日) 20:41:50 ]
- 皆さんありがとうございました
紹介されたRealLibのスレのリンク先などを見て挑戦してみます。
- 671 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:12:10 ]
- >>666
バックエンドで数式処理システム動かしておいて そいつと通信するライブラリを自作したら? いまいち何がやりたいのか伝わってこないんだけど
- 672 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:13:44 ]
- >>671
お前は何でそこまでライブラリを嫌うんだ? > バックエンドで数式処理システム動かしておいて > そいつと通信するライブラリを自作したら? まじめに言ってるの? 開発したことある?
- 673 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:32:07 ]
- 俺ライブラリのブラのあたりが嫌いだわ。 なんかブラブラ揺れてそうで。
- 674 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:35:08 ]
- >>667
シンプレックス法は関係ないってw
- 675 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:54:25 ]
- >>672
なぜ俺に食いつく? この件に関しては初カキコなんだが 少し落ち着け
- 676 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 07:50:28 ]
- もう本人いねーんじゃね。
- 677 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 10:40:50 ]
- int型の変数hogeにビット演算を施したいのですが、
ビット演算は環境依存になってしまったりしますか? 2で除算したりするときはビット演算のが速いのではないかと思いまして。 (それともコンパイラの最適化があれば変わらないのでしょうか。)
- 678 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 10:44:04 ]
- >>677
そんな判断ができないくらいなら、素直に2で割っておけ。 速度比較結果自体は最近見掛けたが、結論は出てないと思うぞ。
- 679 名前:677 mailto:sage [2009/08/17(月) 10:46:58 ]
- >>678
レスありがとうございます。 ビット演算は実はやったことがないので、 もし速いのならこの機会に勉強してみようかなと思いまして。 でもint型なので負の数が混ざると複雑になりますかね。
- 680 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 10:52:45 ]
- 速さについての云々は、
まず実測してみたらってのがいつもの結論じゃね。
- 681 名前:677 mailto:sage [2009/08/17(月) 10:56:18 ]
- >>680
やっぱ実測なんでしょうか? まあビット演算は腰が重いので、速さを追求する時までは止めておきます。 ありがとうございました。
- 682 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 10:58:39 ]
- VC++2008にて
const int b = 2; c = a / b; このソースが sar eax, 1になる件。 素人が思ってる以上にコンパイラはうまいことやってくれるよ。
- 683 名前:677 mailto:sage [2009/08/17(月) 11:01:26 ]
- >>682
私よりコンパイラの方が頭が良さそうなので コンパイラの最適化に頼る事とします。
- 684 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:08:46 ]
- >>682
正確には cdq sub eax,edx sar eax, 1 だな。 でないと負の数で端数を切り下げてしまう。
- 685 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:13:31 ]
- アセンブラって全然分からないんですが
勉強しなきゃダメですかね。。。
- 686 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:35:35 ]
- >>685
必要になるまでしなくていいと思うよ。 少なくとも、ビット演算がどうのこうのと言うよりも後でいいし、 そもそも他にやるべきことは幾らでもある。
- 687 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:42:54 ]
- class base
class a : public base class b: public base func(base *pb){ if(typeid(pb) == typeid(a*){ aアクセス用のポインタ作成 }else{ bアクセス用のポインタ作成 } オーライドされたそれぞれの関数にアクセス } ってことがやりたんだけどポインタ作成の部分がわかりません こういう場合って同じ処理をif文の中に2回書かないと出来ないの?
- 688 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:45:39 ]
- >>687
C++の初歩を勉強してください。 そうすれば、pb->func()で事が足りるかどうか判断できるでしょう。
- 689 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:49:05 ]
- base の関数をvirtualにしたら出来た
- 690 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 18:18:00 ]
-
#undefしていようがいまいが 別のソースで同名のマクロがあったらどうしようも無いわけですので、 #undefすることの意義がいまいち分かりません。 #undefは心がけた方が良いのでしょうか?
- 691 名前:690 mailto:sage [2009/08/18(火) 18:28:15 ]
- ×別のソースで
○別のヘッダーで
- 692 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 18:41:04 ]
- おまえはまだC++でマクロを使いたいのか。
- 693 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 18:55:01 ]
- はい。
- 694 名前:690 mailto:sage [2009/08/18(火) 19:13:22 ]
- >>692
「マクロって超便利!」 →「inline関数ってすげー! templateもすげー!」 →「やっぱりマクロにしか出来ないこともあるじゃん。両立が大事だよな。」 今の私はこの心境なんです。 例えば似たような演算子を一斉に定義するときなど、 #define MACRO(..., op,...) のようにしてopに演算子を入れたりとか まあ色々使い道はあるじゃないですか。
- 695 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 19:16:37 ]
- それはない。
- 696 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 19:18:52 ]
- ほとんど重複してるけどちょっと違うコードとかマクロ使っちゃうよね
|

|