- 1 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 20:20:06.25 ID:o3PNwIlC0.net]
- 次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512 C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part134 mevius.5ch.net/test/read.cgi/tech/1516406742/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.102【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1509780815/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語) VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
- 892 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 17:20:05.74 ID:CpOh1zRO0.net]
- エラー
警告 未定義 不適格 ↑ 混同するやつが後を絶たないな
- 893 名前:デフォルトの名無しさん [2018/05/23(水) 19:15:29.66 ID:Au5e7VGg0.net]
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 V9EWM
- 894 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 21:13:20.83 ID:CpOh1zRO0.net]
- しょーもね
- 895 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 21:13:21.12 ID:fJYH1ZEbM.net]
- この文脈でエラーとか警告とか言い出す時点でアホ丸出しなんだが...w
- 896 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 22:07:04.14 ID:lbYCZF160.net]
- VisualStudioはインテリセンスとコンパイルに使うコンパイラが違う
ちょっと設定変えると、とてつもなくエラーが出るのにコンパイルは通るという事態は稀に良くある
- 897 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 12:25:45.78 ID:hqF4m+XgM.net]
- >>838
>>771
- 898 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 23:58:30.63 ID:XccjINB00.net]
- あるコンテナaとコンテナbを連結?するようなクラス(イテレータ)を作りたいんだが
イメージとしてはa.begin()からa.end()-1までいったら次はb.begin()になるようなやつを思い浮かべてるんだけど どんな風につくればよいかアドバイスください
- 899 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 00:18:38.25 ID:HgmGhgcw0.net]
- >>871
concat_iteratorでググるとそれっぽい実装がチラホラ
- 900 名前:デフォルトの名無しさん [2018/05/25(金) 10:18:09.43 ID:SC+wi2VoM.net]
- C++で2Dのwindowsで動くゲーム作ろうと思っているのだけど、ライブラリって何使えばいいんだ?
- 901 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 10:18:58.21 ID:AT66E0O7M.net]
- GDI
- 902 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 11:33:06.12 ID:JXMMrzE70.net]
- direct2d
- 903 名前:デフォルトの名無しさん [2018/05/25(金) 12:11:02.95 .net]
- Unity
- 904 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 12:19:23.12 ID:lIIOH/4a0.net]
- Opengl
- 905 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 12:52:26.94 ID:s00mTA6Oa.net]
- DirectX Tool Kit
- 906 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 14:11:55.60 ID:7mkguDclM.net]
- cairo
- 907 名前:デフォルトの名無しさん [2018/05/25(金) 18:33:18.15 ID:vSqqKkie0.net]
- いっぱいあるなー、一通り試してみようかな
- 908 名前:放置された蟻人間 mailto:sage [2018/05/25(金) 18:37:43.90 ID:mtapFpQed.net]
- 全部は時間的に無理。
- 909 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 19:06:13.22 ID:O4zlrz7ka.net]
- DirectX Tool Kit一択だとおもうが
- 910 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 19:16:41.38 ID:BiCg0uer0.net]
- OpenGLなんてのは?
- 911 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 19:17:34.72 ID:el+ngQt20.net]
- windowsに限定するならopneGLにする意味は薄い
- 912 名前:デフォルトの名無しさん [2018/05/25(金) 23:32:47.23 ID:vSqqKkie0.net]
- DirectX tool kit なるものは一般的なDirectXの上位互換みたいな捉え方でおk?
- 913 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 23:41:23.37 ID:9e9u/b+G0.net]
- >>882
よこからだけど、これ面白そう。
- 914 名前:はちみつ餃子 mailto:sage [2018/05/26(土) 01:45:05.97 ID:r5N0xqhb0.net]
- Siv3D とかも楽に使えると思う。 (3D という名前がついてるけど 2D もいける)
- 915 名前:デフォルトの名無しさん mailto:sage [2018/05/26(土) 09:49:22.16 ID:Gw/MbzDj0.net]
- 今の時代なら cocos 2d とかモバイルでも使えるライブラリ使った方がいいんじゃないのか
- 916 名前:デフォルトの名無しさん [2018/05/26(土) 10:01:48.35 ID:KfOwUuVld.net]
- c++ならアンリアルエンジンで行こうぜ
- 917 名前:デフォルトの名無しさん mailto:sage [2018/05/26(土) 15:38:59.11 ID:dTnlF+1t0.net]
- あれESCキーが消えるから…
- 918 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 08:17:20.26 ID:kgP2LOmLa.net]
- string::size_type についてですが、
size_type の前についている 「string::」 というのは何ですか?
- 919 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 08:20:28.98 ID:kgP2LOmLa.net]
- 名前空間ではないようですし。
- 920 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 08:28:38.63 ID:HMjaHK3IM.net]
- 静的メンバ関数
でぐぐれ
- 921 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 09:38:09.06 ID:kgP2LOmLa.net]
- >>893
ありがとうございます。 string::size_type は companion type というものらしいのですが、 この companion type とは何でしょうか?
- 922 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 12:33:02.70 ID:WLsT9puy0.net]
- メンバ関数の引数や戻り値、メンバ変数などで使用するためにクラススコープで定義された型のこと
クラス(この場合はstd::string)を利用する側は、 実際にはその型がなんであるかを知る必要なく 文字列のサイズの型としてstring::size_type を用いることができる 参考 https://stackoverflow.com/questions/41471741/string-companion-types
- 923 名前:デフォルトの名無しさん [2018/05/29(火) 13:47:00.51 ID:kgP2LOmLa.net]
- >>895
ありがとうございました。
- 924 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 23:46:46.84 ID:vO9YU0hS0.net]
- std::threadでサブスレッドで処理をしているのですが、処理をキャンセルするためthreadをdetachすると
メモリを破壊しているようで全然別の箇所で色々なエラーが出てきます。system_errorは送出されていません。 サブスレッドではnewでのリソース確保もしていないので理由がわからないです。 detachする際にはjoinableである以外に条件があるのでしょうか。
- 925 名前:デフォルトの名無しさん [2018/05/29(火) 23:59:57.19 ID:6Y/6D3P7M.net]
- >>897
スレッドローカル記憶域とか破棄されたあとにアクセスしてんじゃないの?
- 926 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 00:33:26.79 ID:4+P0NcT60.net]
- std::threadのdetachってスレッドを手放すだけでキャンセルはしないのでは
ラムダ式で処理を渡してるなら、ローカル変数の参照キャプチャとかしてるない?
- 927 名前:デフォルトの名無しさん [2018/05/30(水) 00:33:44.46 ID:D8xt/f/p0.net]
- detachしてもスレッドは動き続けますが。
- 928 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 00:56:37.13 ID:OvmXW6ID0.net]
- 一般にスレッドのキャンセルは難しいので適当に処理を終わらせてjoinするのが良いも思う
- 929 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 01:10:14.80 ID:K2528e3P0.net]
- https://ideone.com/3LDXGx
質問です。定期的に同じ関数をスレッドで起動するクラスを作りました。 んでコード中のここ無駄って書いてある行を削除する方法はありませんか。 開発はVCでやってますが、GCCでも通ればいいなーと思っています。
- 930 名前:897 mailto:sage [2018/05/30(水) 02:51:38.91 ID:gP4Z92jH0.net]
- すみません。言葉足らずでした。
メインスレッド:GUI、サブスレッド:既存のライブラリでデータ補間の重い処理 を担当していて、途中でデータ補間パラメータを変更したくなった場合 キャンセルボタンを押してやり直す、という処理を考えています。 CPUは複数コアあるのでサブスレッドが走り続けてリソース開放が遅れるのは 構わないのですがjoinするとそこで処理終了まで待ってしまうのでdetachしたいわけです。重い処理のループの中にキャンセル用フラグでも用意できればキャンセル通知後 ループを抜けて速やかにjoinするところまで到達させる等の方法があるのですが、 既存ライブラリなのでそうはいかず諦めてdetachしようと考えています。 そのまま走り続けるだけだから結果を回収せずほっておけば良いのかと思ってましたが 甘かったみたいです。 >>898 thread_localは使っていないです。 >>899 アドバイスありがとうございます。関数オブジェクト作ってキャプチャは使っていないです。 >>901 スレッドを平和理に終了させる方法はなさそうなのでdetachできなければ諦めてjoinするしかなさそうですね… とりあえず最小の再現例を作ってみることにします。
- 931 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 09:53:15.07 ID:eD7a+sCF0.net]
- 重い処理の方を別プログラムのプロセスにしちゃって止めるときはブチ殺すのがシンプルで良さそうに見える
- 932 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 17:43:48.31 ID:K2528e3P0.net]
- >>903
async つかえ。 wait_forっていう関数がプロミスにある。
- 933 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 17:44:50.87 ID:K2528e3P0.net]
- >>902
たのんますー。
- 934 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 17:50:39.57 ID:K2528e3P0.net]
- 基本的にstd::threadでキャンセルは不可能。
自分でそういう機構を汲んでやらないといけない。 whileの実行をキャンセルするbool変数つっこむとか。 それでもクリティカルパスの実行は避けられない。
- 935 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 18:55:49.81 ID:DJsvI6z80.net]
- 強引にスレッドを殺すと、
そのスレッドが確保してたリソースが解放されないかもしれないぞ メモリであったりセマフォだったりハンドルだったり ちゃんと終了処理を追加しないとダメだよ
- 936 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 19:05:49.61 ID:EimB82cz0.net]
- そのスレッドが使用するメモリ等のリソースを全て
スレッド終了まで保持していても >>897 >メモリを破壊しているようで全然別の箇所で色々なエラーが出てきます。system_errorは送出されていません。 となるなら、そもそもそのライブラリがスレッドセーフじゃないのかもしれない。 >>904式に別プロセス化するのが一番なのかもね
- 937 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 22:01:02.21 ID:K2528e3P0.net]
- ぷぅうううううううううりいいいいいいいぃいいいいいいいいいずへーーーーーーーるぷみーーーーーーーーーー。
- 938 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 16:11:24.94 ID:W0WQ5cWo0.net]
- 関数の中にif(cancel)return;みたいなのを大量に仕込んで外からフラグを立てて止めろ
- 939 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 19:02:31.60 ID:OT8Sfmwc0.net]
- 基本的にはフラグで止めるか別プロセスで実行するのが定石だが
質問者は >CPUは複数コアあるのでサブスレッドが走り続けてリソース開放が遅れるのは >構わないのですがjoinするとそこで処理終了まで待ってしまうのでdetachしたいわけです。 と言ってるからなぁ
- 940 名前: mailto:sage [2018/05/31(木) 20:27:20.65 ID:4k9lsrlf0.net]
- join なんて、カラクリが良く分からないものを、よく使う気になるなぁ
私なら、チャイルドプロセスが自爆するように、陽に記述するなぁ
- 941 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 20:40:15.15 ID:nmebeT/e0.net]
- joinが嫌ならdetachすればいいのよ
パンがなければお菓子をたべればいいのよ
- 942 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 20:53:09.91 ID:VgZC2OSf0.net]
- 世の中には信じられないメンタリティの人がいるもんだなあ
- 943 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 21:03:58.91 ID:3a+XHa0i0.net]
- join のカラクリは何も難しいことないと思うが
- 944 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 21:13:34.61 ID:nmebeT/e0.net]
- 標準ライブラリが嫌ならpthread使えばいいのよ
- 945 名前:897 mailto:sage [2018/05/31(木) 21:49:57.28 ID:VY6h/Th40.net]
- いろいろアドバイスありがとうございます。
どうもdetachした後に局所変数が確保されるとスタックを破壊してしまうようで、 局所変数を確保する前に>>911氏のいうようにif(cancel)return;入れるとLinuxでは落ちなくなりました。 ですが、windowsでは改善せず諦めました。atomicにするのものも面倒ですし。 結局キャンセルするときは結果を回収せず、さらに別スレッド立ち上げてjoinすることで メインスレッドのGUIに制御が戻るようにしました。長期的には別プロセス化するしかなさそうですね。 ありがとうございました。
- 946 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 21:53:20.51 ID:TwfgGFWOM.net]
- > 既存ライブラリなのでそうはいかず
って書いてあるのに>>905,>>907-908,>>911とかバカなら黙っとけよ...
- 947 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 22:35:57.56 ID:EV/maKH/0.net]
- 913はスレッドを自爆させた後joinしないのであろう…
- 948 名前:デフォルトの名無しさん [2018/05/31(木) 22:51:40.57 .net]
- 子スレッドが一つならjoinで待っててもいいけど、複数個になったら無限ループで待つよね
- 949 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 22:52:12.55 ID:EV/maKH/0.net]
- ていうか「重い処理かつ終了に時間が要するスレッド」複数個を所有するサーバみたいなスレッドを一発噛ませて、
パラメータを変えたくなったら「現行スレッド停止」と「新しいパラメータでのスレッド起動」をサーバに対して指令するつくりにすれば 良い この場合は「重い処理かつ終了に時間が要するスレッド」が終了するまで誰も待つ必要はなく(※サーバ終了時は除く 、サーバみたいなスレッドは、クライアントから「新しいパラメータでのスレッド起動」コマンドを受けたときおもむろに 「死んでる(再利用できる)スレッドはどれかいな〜、」とタイムアウト0秒のjoinでポーリング式にサーチすれば良い 現行スレッドが死ぬまでの間現行スレッドと新たに起動するスレッドが並列に動くことになるが >CPUは複数コアあるのでサブスレッドが走り続けてリソース開放が遅れるのは 構わない ということですしおすし、
- 950 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 22:56:14.51 ID:EV/maKH/0.net]
- >>921
ウィンドーズならWaitForMultipreObjects()とかその亜種で複数の終了待ちができうる そうでなくともイベントフラグの同時待ちはだいたいどんなマルチタスクOSでもできるから それを使って類似のしくみを作れうる、。
- 951 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 23:21:33.93 ID:i2WXWbd70.net]
- >>923
できうる、作れうるって日本語的におかしいだろう
- 952 名前:デフォルトの名無しさん [2018/06/01(金) 04:04:16.74 ID:p3jBadVq0.net]
- ウインドーズとか何か別物感あるし、multipleのスペルもおかしいし大丈夫か
- 953 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 04:08:40.92 ID:ampOWGNn0.net]
- 色々なところで糞が露呈している
それがWindows
- 954 名前:はちみつ餃子 mailto:sage [2018/06/01(金) 04:11:32.11 ID:uW2rQW//0.net]
- デザインとしては Windows の方が現代的なんだけど、
色んなものが POSIX を基本にしたデザインになってるから噛み合わないんよなぁ。
- 955 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 04:16:04.83 ID:ampOWGNn0.net]
- POSIXに準拠できないWindowsがどうかしている
- 956 名前:はちみつ餃子 mailto:sage [2018/06/01(金) 04:22:16.25 ID:uW2rQW//0.net]
- >>928
昔は POSIX 準拠にしてたよ。 アメリカの政府が採用するのに POSIX を要求してたみたいで、仕方なくやったって話。 だけど、基本的なモデルが違うものに API だけ接ぎ木してもなぁ。
- 957 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 04:43:45.31 ID:SICoZSIN0.net]
- windowsでpthread使うたびにトラブル起こってつら
- 958 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 08:14:44.74 ID:WJ5uQBEIM.net]
- >>921
他に条件があるならともかく、普通にjoinで待てばよくね?
- 959 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 08:27:54.49 ID:WJ5uQBEIM.net]
- >>922
joinしたら再利用できないだろ
- 960 名前:デフォルトの名無しさん [2018/06/01(金) 08:30:22.24 .net]
- >>931
別に、joinで済むならjoinでいいんじゃね
- 961 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 09:15:20.19 ID:oHKnNuZr0.net]
- キャンセルしたくなるほど長い処理ならスレッドキューイングする利点はない
もちろんしたいならしてもいい
- 962 名前:デフォルトの名無しさん [2018/06/01(金) 09:35:53.16 ID:uCsHgk1n0.net]
- C++を使うなら、Windowsでいいんじゃないの。
Clang、gcc、clと主要なコンパイラが動く貴重な環境だし。 文書を残さないといけないからアプリも必要。 図を描くのにvimでSVG書くって人もいるけど、流石にそれは労力の使い方を間違えてる。
- 963 名前:デフォルトの名無しさん [2018/06/01(金) 10:01:00.93 ID:oDn7ey18M.net]
- サブスレッドでjoinして結果を使わない、というのとデタッチするのとどう違うんやろな。デタッチってなんのメリットあるんやろか。
- 964 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 10:15:36.25 ID:oHKnNuZr0.net]
- 自分で書いてる通り結果を使わなくて終了も待ちたくないなら join せずデタッチ。
メリットはリソース(スレッドハンドルなど待ち合わせ用リソース)の自動的な解放くらいか。
- 965 名前:デフォルトの名無しさん [2018/06/01(金) 11:41:29.12 ID:sIQxQP9sa.net]
- 連結リストのクラス list があります。
addFirst removeFirst などのメンバ関数があります。 この list を継承して、 stack クラスを作ります。 stack クラスにはメンバ関数 push と pop があります。 push の中で addFirst を呼んでいます。 pop の中で removeFirst を呼んでいます。 stack クラスのインスタンスからは、 list クラスの addFirst, removeFirst などを 利用不可としたいのですが、どうすればいいのでしょうか? : public list と継承するともちろんダメです。 : private list と継承すると push の中で呼んでいる addFirst が使えなくなってしまいます。 どうすればいいのでしょうか?
- 966 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 11:47:52.19 ID:1LiDvq+rd.net]
- protect
- 967 名前:デフォルトの名無しさん [2018/06/01(金) 11:55:31.26 .net]
- friend
- 968 名前:デフォルトの名無しさん [2018/06/01(金) 11:55:48.39 ID:uCsHgk1n0.net]
- ・stack : protected listとして、必要なメンバをstackで明示的に公開する。
・listとstackのポインタに互換性がなくなる。
- 969 名前:デフォルトの名無しさん [2018/06/01(金) 11:58:45.22 ID:uCsHgk1n0.net]
- ・assert、throw等で警告するだけのaddFirst、removeFirstをstack側に作りオーバーライドし、規約で使うなと言っておく。
・非常にダサい。
- 970 名前:デフォルトの名無しさん [2018/06/01(金) 12:00:33.78 ID:uCsHgk1n0.net]
- ・基底クラスbasic_listを設け、そこからlistとstackを別に派生する。
- 971 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 12:12:54.27 ID:SICoZSIN0.net]
- >>935
釣りか? MSYSがあるからなんとか我慢して作業できるが 仕事以外でそんな苦痛を受けながらプログラミングなんかしたくはない
- 972 名前:デフォルトの名無しさん [2018/06/01(金) 12:31:43.05 ID:uCsHgk1n0.net]
- >>944
wslでおk。
- 973 名前:デフォルトの名無しさん [2018/06/01(金) 12:33:20.56 ID:uCsHgk1n0.net]
- wslを有効にしてコルタナにウブンツと言えばすぐ使えます。
- 974 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 12:41:08.30 ID:SICoZSIN0.net]
- wslでWindowsネイティブなバイナリ作れんの?
- 975 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 12:43:01.01 ID:Iz+jFShBM.net]
- >>944
> 仕事以外でそんな苦痛 でもどんな苦痛なのかは書けない w
- 976 名前:デフォルトの名無しさん [2018/06/01(金) 12:44:36.05 ID:uCsHgk1n0.net]
- さあどうだろ?
Linux側からWindowsのファイルは読めるけど。 環境設定が大変そうだな。 逆にWindows側からLinuxのファイルを直接変更したらだめらしい。
- 977 名前:デフォルトの名無しさん [2018/06/01(金) 12:47:41.68 ID:uCsHgk1n0.net]
- 俺のおすすめの使い方は、Windowsバイナリはcl、Linuxバイナリはwsl上のgccで作る。
開発環境はVisual Studio2017、CMakeプロジェクトを使う。 これだけでWindowsとLinux両方対応できる。
- 978 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 12:51:07.74 ID:SICoZSIN0.net]
- >>950
それ良さそうだな 今度試してみる
- 979 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 13:01:33.50 ID:sIQxQP9sa.net]
- >>939-943
ありがとうございました。 Macを使っている人はいませんか? コンピュータサイエンティストって大抵Macのノートパソコンを使っているイメージがあります。
- 980 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 13:11:39.88 ID:pUOZzX0iM.net]
- >>952
mac使ったところでmacしか使えないだけ 本物になりたいならシェアが高いウインドゥスを使え もしくはLinux
- 981 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 13:29:21.95 ID:A9MSzynoM.net]
- >>944
別に補陀落渡海しても良いのよ
- 982 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 13:30:34.27 ID:STCtC+aF0.net]
- >>952
Macの内部はUnixだから
- 983 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 16:26:14.37 ID:WJ5uQBEIM.net]
- >>952
念の為、標準ライブラリにlistもstackもあるからね。 あと標準ライブラリのlistは継承して使えるように設計されてないからね
- 984 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 18:47:58.65 ID:U3fjUVmpd.net]
- リスト構造のスタックなんて簡単なんだからゼロから作っちゃえば?
- 985 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 18:52:33.22 ID:U3fjUVmpd.net]
- push pop size
copy move swap constructor destructor くらいでしょ使うの 片方向でもいいだろうし
- 986 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 19:38:34.27 ID:nSTFCyDP0.net]
- stackはlistではないし継承は間違ってるわな
- 987 名前:デフォルトの名無しさん [2018/06/01(金) 19:48:21.87 ID:uCsHgk1n0.net]
- 俺、リストツリーっていうの考えたんだけど、聞きたい?
- 988 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 19:58:07.59 ID:U3fjUVmpd.net]
- >>959
頭が硬いやつはソフトに向いてない
- 989 名前:デフォルトの名無しさん [2018/06/01(金) 20:19:59.69 ID:sIQxQP9sa.net]
- >>953
>>955 ありがとうございました。 >>956-959 実は、 最近出版された岩沼宏冶他著『データ構造とアルゴリズム』(コロナ社) という本にスタックとキューのそのような実装が書いてあるんです。 まず連結リストをテンプレートを使って実装しています。 その関係で質問しました。 まえがきに「本書の前半ではC++言語での実装コードを示すが、これは 初学者によいコードを読ませることが目的であり、Art of Programmingに つながるような解説を付記するように努力する。」と書いてあります。
- 990 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 21:27:36.17 ID:naL+ZRGN0.net]
- 下手が伝染るから、クヌースを取り寄せしたほうが良いぞ
- 991 名前: mailto:sage [2018/06/01(金) 21:36:56.16 ID:/qAuBE/I0.net]
- >>938
私なら委譲を使います
- 992 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 21:52:15.80 ID:eT4/jjIPM.net]
- >>933
どんな用途を想定してるの?
|

|