https://mevius.5ch.net/test/read.cgi/tech/1589424805/
※前スレ
C++相談室 part152
https://mevius.5ch.net/test/read.cgi/tech/1594528940/
テンプレおしまい
C++相談室 part153
■ このスレッドは過去ログ倉庫に格納されています
2020/10/10(土) 23:18:20.00ID:i4F+i14Y
539デフォルトの名無しさん
2020/11/16(月) 18:43:02.87ID:MWCEXPaa540デフォルトの名無しさん
2020/11/16(月) 19:00:52.03ID:uQizIpoB 単に順序の管理用と名前検索用の赤黒木かなんかを作っとけばいいだけの話じゃないの?
違うの?
違うの?
541デフォルトの名無しさん
2020/11/16(月) 19:00:58.93ID:Jgt25IWR 例えば
map<id,parts> master; // パーツマスター
list<id> seq; // パーツの並び
map<id, list<id>::iterator> lookup// 各パーツのseq中の位置の参照テーブル
ってしておいて、seqに突っ込んだ要素はlookupに参照用の登録をする。
map<id,parts> master; // パーツマスター
list<id> seq; // パーツの並び
map<id, list<id>::iterator> lookup// 各パーツのseq中の位置の参照テーブル
ってしておいて、seqに突っ込んだ要素はlookupに参照用の登録をする。
542デフォルトの名無しさん
2020/11/16(月) 19:32:53.88ID:Z6yFFWiy543デフォルトの名無しさん
2020/11/16(月) 19:36:29.66ID:oSwqK6E+ >>537
RDBS はデフォではソートなんかしないし、ソートされたデータが欲しかったら INSERT/UPDATE/DELETE 時にすでにインデックスを張っておくように、あらかじめわざわざ指定するものだと思いますが
空き時間にバックグラウンドでソートする DB なんて聞いた事がないですね
よろしかったら、そういう DBS が何か教えていただけませんか?
RDBS はデフォではソートなんかしないし、ソートされたデータが欲しかったら INSERT/UPDATE/DELETE 時にすでにインデックスを張っておくように、あらかじめわざわざ指定するものだと思いますが
空き時間にバックグラウンドでソートする DB なんて聞いた事がないですね
よろしかったら、そういう DBS が何か教えていただけませんか?
545デフォルトの名無しさん
2020/11/16(月) 20:33:56.43ID:hTDmnJOp ソートじやねぇ
デフラグだ
デフラグだ
546デフォルトの名無しさん
2020/11/16(月) 21:12:03.78ID:BvdXplQc >>544
ソートという言い方はちょっとおかしいけどそれに近いことをRDBはしてるよ
インデックスが探索しやすいようにディスク上でも物理的に並べ替えて配置される
クラスタ化インデックスならレコード自体が並べ替えられると言えるね
といっても隙間なくギッチリ詰めて並べ替えてしまうと中間挿入が発生するたびにソートが必要になってしまうので
通常はある程度の余白を持たせて中間挿入や削除に耐えられる
ように配置される
これを充填率やフィルファクターという
そして定期的にインデックスを再構成・再構築することで充填率が高くなり過ぎないようにする
これはバックグラウンドで行われるよ
ソートという言い方はちょっとおかしいけどそれに近いことをRDBはしてるよ
インデックスが探索しやすいようにディスク上でも物理的に並べ替えて配置される
クラスタ化インデックスならレコード自体が並べ替えられると言えるね
といっても隙間なくギッチリ詰めて並べ替えてしまうと中間挿入が発生するたびにソートが必要になってしまうので
通常はある程度の余白を持たせて中間挿入や削除に耐えられる
ように配置される
これを充填率やフィルファクターという
そして定期的にインデックスを再構成・再構築することで充填率が高くなり過ぎないようにする
これはバックグラウンドで行われるよ
548デフォルトの名無しさん
2020/11/16(月) 21:25:44.06ID:BvdXplQc 充填率100%ならトランザクション中にリアルタイムで再配置するしかないけど
充填率100%未満ならその場でインデックスを再構築したりはしない
最近のRDBは行バージョンに対応してるからトランザクションログさえ書ければガンガンいくよ
実データファイルの書き換えは後回しにしても整合性保てるので
充填率100%未満ならその場でインデックスを再構築したりはしない
最近のRDBは行バージョンに対応してるからトランザクションログさえ書ければガンガンいくよ
実データファイルの書き換えは後回しにしても整合性保てるので
549デフォルトの名無しさん
2020/11/16(月) 21:33:03.21ID:hTDmnJOp だからそれがライトバックだろバカもんが
550デフォルトの名無しさん
2020/11/16(月) 21:34:06.52ID:OL16ghBV >>539
フルスペルからエントリ番号を引ける辞書か数学関数があればいいだろ
フルスペルからエントリ番号を引ける辞書か数学関数があればいいだろ
551デフォルトの名無しさん
2020/11/16(月) 22:10:00.49ID:2ijHHLJY エネルギー充填率120%!!
552デフォルトの名無しさん
2020/11/17(火) 00:16:25.08ID:UNFUL2Kr 主キーでB-treeを構成する
PostgreSQLは明示的にバキュームする(B-treeの調整だけではないが
ところでB-treeってなんですか(・∀・)?
PostgreSQLは明示的にバキュームする(B-treeの調整だけではないが
ところでB-treeってなんですか(・∀・)?
553デフォルトの名無しさん
2020/11/17(火) 12:40:30.03ID:PuHDpULa 二分木、binary tree
b-tree, b+tree とか色々な種類がある。
データベースは、b+treeが多い
b-tree, b+tree とか色々な種類がある。
データベースは、b+treeが多い
554はちみつ餃子 ◆8X2XSCHEME
2020/11/17(火) 12:52:49.72ID:lifPo1s+ B木 (B-tree) は二分とは限らないよ。
ところでこのBはバランスのBかと思ってたんだけど
考案者とか関連会社の頭文字という説もあるみたいだね。
ところでこのBはバランスのBかと思ってたんだけど
考案者とか関連会社の頭文字という説もあるみたいだね。
555デフォルトの名無しさん
2020/11/17(火) 13:16:51.60ID:XfP96roT BinaryかBalanceかどっち?
556デフォルトの名無しさん
2020/11/17(火) 13:40:13.56ID:LFLSoNm5 binaryじゃ二分になっちまうから違うな
557デフォルトの名無しさん
2020/11/17(火) 13:40:16.49ID:KFJ2cj0W 発祥はわからんけど今となってはBalanced/Balancing Treeだろうな
日本語訳も平衡木だしね
日本語訳も平衡木だしね
558デフォルトの名無しさん
2020/11/17(火) 17:31:51.25ID:gGBQNTu8 定期的に最小完全ハッシュ関数を求めて置き換える。
559デフォルトの名無しさん
2020/11/17(火) 19:20:00.69ID:Tiv5/dm/ B-Treeが平衡木に分類されることはあってもイコールじゃない。
平衡木というと代表的なのはAVL-Treeとかじゃね。
B-Treeの語源というと俺は broad を推したいが。
Bayer and McCreight never explained what, if anything, the B stands for: Boeing, balanced, broad, bushy, and Bayer have been suggested.
平衡木というと代表的なのはAVL-Treeとかじゃね。
B-Treeの語源というと俺は broad を推したいが。
Bayer and McCreight never explained what, if anything, the B stands for: Boeing, balanced, broad, bushy, and Bayer have been suggested.
560デフォルトの名無しさん
2020/11/17(火) 21:21:24.35ID:LFLSoNm5 完全ハッシュって、衝突が起こりえないってこと?
ハッシュの使い方の基本がわかってねえやつが考えることの典型だが
ハッシュの使い方の基本がわかってねえやつが考えることの典型だが
561デフォルトの名無しさん
2020/11/17(火) 23:48:10.65ID:UNFUL2Kr PostgreSQLのハッシュは衝突したら線形リストに収める的なやつだったはず…
562デフォルトの名無しさん
2020/11/18(水) 10:04:24.66ID:fvU2iODC 完全ハッシュ関数は簡単に作れる。
auto hash(auto a) { return a; }
最小であることが重要。
auto hash(auto a) { return a; }
最小であることが重要。
563デフォルトの名無しさん
2020/11/18(水) 10:11:34.00ID:fvU2iODC constexprでコンパイル時に最小ハッシュ関数が静的に解決される。
これぞ神言語。
これぞ神言語。
564デフォルトの名無しさん
2020/11/18(水) 10:11:37.19ID:hkPPdx4I まあIdentityも定義には嵌まるかな
565デフォルトの名無しさん
2020/11/18(水) 10:57:38.49ID:+eOywhWF >>562
ぷw
ぷw
566デフォルトの名無しさん
2020/11/18(水) 13:28:57.32ID:oGkGNlvA 確か、ハッシュが衝突した所を、h-tree に納めるものもあったような
Ruby のハッシュでは、データ数と共に、バケット数を増やしていく。
バケット数は、2 の累乗の次に現れる素数。
2^n + a, 2 <= n <= 30
8 + 3 = 11
16 + 3 = 19
32 + 5 = 37
64 + 3 = 67
128 + 3 = 131
256 + 27 = 283
512 + 9 = 521
データ数が、バケット数の5倍を超えると、ハッシュが再構成される。
再構成時には、極端に遅くなる
例えば、11 * 5 = 55 だから、データ数が56 個になると、バケット数が19 になる。
19 * 5 = 95 だから、データ数が96 個になると、バケット数が37 になる
Ruby のハッシュでは、データ数と共に、バケット数を増やしていく。
バケット数は、2 の累乗の次に現れる素数。
2^n + a, 2 <= n <= 30
8 + 3 = 11
16 + 3 = 19
32 + 5 = 37
64 + 3 = 67
128 + 3 = 131
256 + 27 = 283
512 + 9 = 521
データ数が、バケット数の5倍を超えると、ハッシュが再構成される。
再構成時には、極端に遅くなる
例えば、11 * 5 = 55 だから、データ数が56 個になると、バケット数が19 になる。
19 * 5 = 95 だから、データ数が96 個になると、バケット数が37 になる
567デフォルトの名無しさん
2020/11/18(水) 16:06:44.89ID:fvU2iODC C++も結構風呂敷広げる系言語だけど、Haskellには負けてしまうなあ。
568デフォルトの名無しさん
2020/11/18(水) 20:57:21.43ID:v8HWKopj ハッシュ関数とハッシュテーブルの話がごっちゃになってる
569デフォルトの名無しさん
2020/11/18(水) 21:45:14.61ID:m5UtHFcK わてほんまによー言わんわ♪
570デフォルトの名無しさん
2020/11/18(水) 21:47:58.74ID:fvU2iODC 上げ。
571デフォルトの名無しさん
2020/11/18(水) 21:51:25.76ID:fvU2iODC 完全最小ハッシュ関数は、Nginxで使われてたんじゃなかったかな。
前に調査した時見たと思うわ。
前に調査した時見たと思うわ。
572デフォルトの名無しさん
2020/11/20(金) 16:43:55.07ID:WhXHGWda Windows環境のVC++2010でマクロプログラムを作ってます。
CapsLock状態をプログラム上から直接変更する手段はありますか?
最悪仮想キーコードでシフト押下、Caps押下、離す、離すの4手で実現はできるのかなとは思いますが
CapsLock状態をプログラム上から直接変更する手段はありますか?
最悪仮想キーコードでシフト押下、Caps押下、離す、離すの4手で実現はできるのかなとは思いますが
573デフォルトの名無しさん
2020/11/20(金) 16:49:03.01ID:JmNduuKf574デフォルトの名無しさん
2020/11/20(金) 17:05:17.17ID:KM6YfWXc >>572
できなかったと思う
できたとしてもやるべきではない
CapsLock状態かどうかを調べることはできる
プログラムでAを入力するときCapsLock状態ならaを送る
CapsLock状態でないならShift+aを送る
なんてことをやったことある
できなかったと思う
できたとしてもやるべきではない
CapsLock状態かどうかを調べることはできる
プログラムでAを入力するときCapsLock状態ならaを送る
CapsLock状態でないならShift+aを送る
なんてことをやったことある
575デフォルトの名無しさん
2020/11/20(金) 17:48:13.50ID:2Xtms9kk 質問するときくらい、あげていきましょうや。
576はちみつ餃子 ◆8X2XSCHEME
2020/11/20(金) 18:07:40.81ID:QATBBV0x 専用ブラウザでお気に入りスレを巡回するし、
スレ一覧を見るときもタイトルで検索かけるから
上がってるか下がってるかなんて見てないな。
見てる人ってそんなにいる?
スレ一覧を見るときもタイトルで検索かけるから
上がってるか下がってるかなんて見てないな。
見てる人ってそんなにいる?
577デフォルトの名無しさん
2020/11/20(金) 18:39:27.79ID:2Xtms9kk 専ブラってなんすか?
578デフォルトの名無しさん
2020/11/20(金) 20:09:54.73ID:8HnFa960 むかし2chが検索からガンガン流入してた時代は意味あったけど
もはや検索からははみごにされ廃れきってネット老人サロンと化した
今の5chではほとんど意味ない文化だなage/sage
もはや検索からははみごにされ廃れきってネット老人サロンと化した
今の5chではほとんど意味ない文化だなage/sage
579デフォルトの名無しさん
2020/11/20(金) 23:20:16.49ID:2Xtms9kk だったら、上げていきましょうや。
580デフォルトの名無しさん
2020/11/20(金) 23:36:24.04ID:tRQ7sQvu だが断る
581デフォルトの名無しさん
2020/11/21(土) 08:35:59.33ID:beyH0yOT LINEで既読スルーがどうたらと一喜一憂してるバ…若者をうらやましいと思ったことは只の一度もない
やたら何たら離れしまくり四六時中ゲームしかしなくなる廃人化傾向は嘆かわしい限りだ
老害で結構だ、言わせておくさ てめーらより人生楽しいぜ
やたら何たら離れしまくり四六時中ゲームしかしなくなる廃人化傾向は嘆かわしい限りだ
老害で結構だ、言わせておくさ てめーらより人生楽しいぜ
582デフォルトの名無しさん
2020/11/21(土) 09:06:30.33ID:gA6oFLIj べつに老害とかいうてませんがな
たんじゅんに皆年寄なりましたな、いうてるだけで
たんじゅんに皆年寄なりましたな、いうてるだけで
583デフォルトの名無しさん
2020/11/21(土) 09:09:50.16ID:beyH0yOT ワード1つに噛みつく以外に言うことが何もねえってことか
少しくらいあれよ、これ以上絶望させてくれるな
少しくらいあれよ、これ以上絶望させてくれるな
584デフォルトの名無しさん
2020/11/21(土) 09:12:51.55ID:kTU0dCRJ おじいちゃん、こんなクソスレで何をそんなに息巻いてるのよ
お体に障りますよ
お体に障りますよ
585デフォルトの名無しさん
2020/11/21(土) 09:14:58.42ID:R3A7NkyC >>581
マ板の40代スレに変なポエム書いてる奴がいたが、同じ臭いがする
マ板の40代スレに変なポエム書いてる奴がいたが、同じ臭いがする
586デフォルトの名無しさん
2020/11/21(土) 09:18:51.83ID:beyH0yOT ゴミばっか
ここム板だぜ
らしい話しろよ
ここム板だぜ
らしい話しろよ
587デフォルトの名無しさん
2020/11/21(土) 13:02:47.48ID:t4UXk0gp したがって、上げていきましょうや。
588デフォルトの名無しさん
2020/11/22(日) 01:10:01.54ID:mIY2Yy/p >>573-574
ありがとうございます。
ゲーム側の仕様で歩く/走るの切り替えがCapsLock状態なので、そこを制御したかったんですよね。
Shift押しっぱなしでも切り替わるは切り替わるんでそれをメインに考えてみます
ありがとうございます。
ゲーム側の仕様で歩く/走るの切り替えがCapsLock状態なので、そこを制御したかったんですよね。
Shift押しっぱなしでも切り替わるは切り替わるんでそれをメインに考えてみます
589デフォルトの名無しさん
2020/11/22(日) 14:11:14.57ID:3aKbbyVM RTTIってどんな原理で実装されてるんですか?
590デフォルトの名無しさん
2020/11/22(日) 14:26:33.97ID:KUPbiAdd >>589
仮想関数と同じように、クラスごとにコンパイラがデータ生成して個々のオブジェクトから辿れるように埋め込む。
仮想関数と同じように、クラスごとにコンパイラがデータ生成して個々のオブジェクトから辿れるように埋め込む。
591デフォルトの名無しさん
2020/11/22(日) 14:33:39.46ID:gdEBKvV8 どんな高度なことをやってるように見えてても結局はC言語で実装してんの?
592デフォルトの名無しさん
2020/11/22(日) 15:03:04.61ID:h+lYxto0593デフォルトの名無しさん
2020/11/22(日) 15:51:20.82ID:o/Js7Lov594デフォルトの名無しさん
2020/11/22(日) 17:19:17.03ID:LCd15qeF 仮想関数テーブルのアドレスがクラスのIDの役割を果たす
からRTTIするには仮想関数が1個以上あれば良く、
それさえクリアしたら追加の空間コストはない
からRTTIするには仮想関数が1個以上あれば良く、
それさえクリアしたら追加の空間コストはない
595デフォルトの名無しさん
2020/11/22(日) 17:29:03.52ID:2nm5SjZ0 多態するならデストラクタが仮想のはずだから事実上は追加コストないんだよね
596デフォルトの名無しさん
2020/11/22(日) 20:02:41.94ID:L/uQBHM9 ダイナミックにやりたいヤツ用
597デフォルトの名無しさん
2020/11/22(日) 20:07:55.27ID:BvpndlWI >>593
ほとんど落ちないはずだが、RTTIとは別意に一般論として仮想関数を1つでも
定義することによって、非常に僅かながら落ちる。
オブジェクトを new した時、オブジェクトの隠れたメンバに、仮想テーブル
のアドレスを書き込む必要があるので、new一回当たり 1 クロックだけ遅くなる。
また、オブジェクトにアドレスを1個格納するのに必要な領域が増やす必要がある。
これは、32BITモードの場合、4バイト、64BITモードの場合、8バイト。
ほとんど落ちないはずだが、RTTIとは別意に一般論として仮想関数を1つでも
定義することによって、非常に僅かながら落ちる。
オブジェクトを new した時、オブジェクトの隠れたメンバに、仮想テーブル
のアドレスを書き込む必要があるので、new一回当たり 1 クロックだけ遅くなる。
また、オブジェクトにアドレスを1個格納するのに必要な領域が増やす必要がある。
これは、32BITモードの場合、4バイト、64BITモードの場合、8バイト。
598デフォルトの名無しさん
2020/11/22(日) 23:24:02.57ID:LCd15qeF RTTIするからといって多態性設計とは限らないんじゃ…
古き良きenum定数によるswitchの代替という使い方も有り得る
古き良きenum定数によるswitchの代替という使い方も有り得る
599デフォルトの名無しさん
2020/11/23(月) 06:50:21.21ID:SrPyOTC6 nested_exceptionで普通に使う
600デフォルトの名無しさん
2020/11/23(月) 06:52:19.04ID:SrPyOTC6 単純にexceptionで捕獲した例外をsystem_errorとかで場合分けとかね
catchをオーバーロードするよりこっちのほうが融通が利く
catchをオーバーロードするよりこっちのほうが融通が利く
601デフォルトの名無しさん
2020/11/23(月) 21:12:23.11ID:gAkTmGSN そんなコストを気にするほどランタイム速度要求の厳しいソフトなんかお前ら書かんだろ
602デフォルトの名無しさん
2020/11/23(月) 22:39:23.22ID:ryjND0ia 多重ループの中のif文一個でも結構変わるしなあ
603デフォルトの名無しさん
2020/11/24(火) 01:19:31.94ID:IV+MkG/a604(u_・y) ◆e6.oHu1j.o
2020/11/24(火) 16:34:51.81ID:qTKKRlIf (u_・y)最近C++で作られた出来の良いアプリって存在するの?
(u_・y)もう世の中のほとんどがブラウザーとそのブラウザー上で動作するスクリプトで完結してる気するんだけど
(u_・y)もう世の中のほとんどがブラウザーとそのブラウザー上で動作するスクリプトで完結してる気するんだけど
605デフォルトの名無しさん
2020/11/24(火) 16:55:08.02ID:p7TzmKlx そのブラウザがC++製だろうがwwwww
606デフォルトの名無しさん
2020/11/24(火) 17:52:32.94ID:18TBNzSS サーバを増やすんじゃなくて、時代はもうクラウドなんですよ!
607デフォルトの名無しさん
2020/11/24(火) 18:12:54.60ID:zMf11be4 やめなよ
608デフォルトの名無しさん
2020/11/24(火) 21:44:11.65ID:+m+UL9CA >>603
どんなストレージ使ってんの?
どんなストレージ使ってんの?
609デフォルトの名無しさん
2020/11/24(火) 23:18:43.39ID:EBaS3Lgi 何色のパンツはいてんの?w
610デフォルトの名無しさん
2020/11/25(水) 14:30:01.10ID:yb7Sfyoy やめなよ
611デフォルトの名無しさん
2020/11/25(水) 18:03:06.30ID:GXxyf9BA 噂によると、メモリモデルに辟易していた、りーぬす先生が、NEW見た瞬間メモリモデルこれでよくねー?病にかかったと聞いた。
612デフォルトの名無しさん
2020/11/25(水) 20:24:34.76ID:OwYFbtHk あんなにC++はfuckでshitだって言ってたのに?
613デフォルトの名無しさん
2020/11/25(水) 20:27:03.84ID:0vRedS2N >>611
抜かせや証拠出せ
抜かせや証拠出せ
614デフォルトの名無しさん
2020/11/26(木) 20:31:56.32ID:rfhyh3I2 今からC++勉強しようと思ってるんだけど江添本って評判いいの?
615はちみつ餃子 ◆8X2XSCHEME
2020/11/26(木) 21:31:52.07ID:aL88M1qg >>614
「江添亮のC++入門」のことだよね。
評判は悪くはないと思うよ。
太っ腹なことに全文が github に置いてあるからタダで読めるし、
とりあえず序盤だけでも読んでみればいいんじゃないかな。
序盤でヘッダファイルの説明をすっとばして雑にやってるし、
継承の仕組みについて全く触れてなかったりするのは
入門向けにかなり思い切って省いてる感じはする。
一通り理解した後では他の本も読んだほうが良いと思う。
「江添亮のC++入門」のことだよね。
評判は悪くはないと思うよ。
太っ腹なことに全文が github に置いてあるからタダで読めるし、
とりあえず序盤だけでも読んでみればいいんじゃないかな。
序盤でヘッダファイルの説明をすっとばして雑にやってるし、
継承の仕組みについて全く触れてなかったりするのは
入門向けにかなり思い切って省いてる感じはする。
一通り理解した後では他の本も読んだほうが良いと思う。
616デフォルトの名無しさん
2020/11/26(木) 21:36:26.77ID:A1DZUd8N >>615
どこのhubよ?
どこのhubよ?
617はちみつ餃子 ◆8X2XSCHEME
2020/11/27(金) 11:50:52.05ID:TefhHHJS618デフォルトの名無しさん
2020/11/27(金) 12:25:02.43ID:4rNXQ0cM ほう
619デフォルトの名無しさん
2020/11/28(土) 02:48:58.01ID:G8gGytn9 へー
620デフォルトの名無しさん
2020/11/28(土) 03:32:38.65ID:W53VNNYA ふーん
621デフォルトの名無しさん
2020/11/28(土) 08:49:49.77ID:/IOgDWl9 可変引数テンプレートのコンストラクタだとコピーコンストラクタやムーブコンストラクタより優先順位高い事ある?
622デフォルトの名無しさん
2020/11/28(土) 09:11:22.92ID:KmyDCzB4 template <class... aho>
boke(aho&&...);
boke(boke&&);
これでどっちが優先てこと?
boke(aho&&...);
boke(boke&&);
これでどっちが優先てこと?
623デフォルトの名無しさん
2020/11/28(土) 11:55:46.81ID:/HPnbUmI 非テンプレ版→テンプレ特殊化→テンプレの順に優先
624621
2020/11/28(土) 13:44:25.19ID:/IOgDWl9625デフォルトの名無しさん
2020/11/28(土) 14:33:28.98ID:/HPnbUmI そのAhoはムーブじゃなくてbokeを作る時のデフォルトコンストラクトで出てる
626はちみつ餃子 ◆8X2XSCHEME
2020/11/28(土) 14:35:42.94ID:gUqAhKBc >>624
Test<double> boke;
のときにデフォルトコンストラクタ (引数がないコンストラクタ) を呼出す。
引数なしで呼び出せるのはそれしかないからそれを呼ぶってだけで、
優先もクソもないのじゃ。
Test<double> boke;
のときにデフォルトコンストラクタ (引数がないコンストラクタ) を呼出す。
引数なしで呼び出せるのはそれしかないからそれを呼ぶってだけで、
優先もクソもないのじゃ。
627デフォルトの名無しさん
2020/11/28(土) 16:18:43.35ID:/IOgDWl9628はちみつ餃子 ◆8X2XSCHEME
2020/11/28(土) 16:41:08.52ID:gUqAhKBc >>627
テンプレートかどうかは重要ではなくて a が非 const だから非 const のほうが選択される。
テンプレートかどうかは重要ではなくて a が非 const だから非 const のほうが選択される。
629デフォルトの名無しさん
2020/11/28(土) 17:23:45.26ID:/IOgDWl9 >>628
可変引数の方をconst&にしたら解決した!ありがとうございます。
可変引数の方をconst&にしたら解決した!ありがとうございます。
630デフォルトの名無しさん
2020/11/28(土) 21:09:45.69ID:2t4HVeMH またアホみたいな流れかおもたら
意外とちゃんとした質問応答の流れでビビった
意外とちゃんとした質問応答の流れでビビった
631デフォルトの名無しさん
2020/12/01(火) 15:54:55.38ID:V2eyqU/t gdbのプロンプトでシェルの文法使う方法ある?
具体的にはfor文で配列を走査しながら内容をprintしたりしたい
具体的にはfor文で配列を走査しながら内容をprintしたりしたい
632デフォルトの名無しさん
2020/12/01(火) 21:49:00.34ID:1uVg5H0L >>631
配列自体をprintするんじゃだめ?
配列自体をprintするんじゃだめ?
633デフォルトの名無しさん
2020/12/02(水) 01:32:17.93ID:cCR9MlfF >>632
添字番号を併記したりかんたんな演算を行ったりしたかった
添字番号を併記したりかんたんな演算を行ったりしたかった
634デフォルトの名無しさん
2020/12/02(水) 05:03:16.50ID:OLoYTJfY OSはOS X10.15.7でApple clang12.0.0のC++17指定です
vector<tuple<int, int, int>> T;
vector<pair<int, int>> P;
のような配列(stdは省略)を作成したのですが以下のような挙動になりました
P.emplace_back(i, j); //通る
P.push_back(i, j); //エラー
P.emplace_back({i, j); //エラー
P.push_back({i, j}); //通る
P.emplace_back(make_pair(i, j)); //通る
P.push_back(make_pair(i, j)); //通る
省略はしてますがtupleも大体同じです(i, jはint)
push_backが一時コンストラクトをムーブしてることやmake_pairやmake_tupleに
型の推論があることは調べたのですが上記のようになる理由が分かりませんでした
後clangとg++でどちらに合わせた方が標準的というのはあるのでしょうか
図々しくも質問が2つになってしまいましたがよろしくお願いします
vector<tuple<int, int, int>> T;
vector<pair<int, int>> P;
のような配列(stdは省略)を作成したのですが以下のような挙動になりました
P.emplace_back(i, j); //通る
P.push_back(i, j); //エラー
P.emplace_back({i, j); //エラー
P.push_back({i, j}); //通る
P.emplace_back(make_pair(i, j)); //通る
P.push_back(make_pair(i, j)); //通る
省略はしてますがtupleも大体同じです(i, jはint)
push_backが一時コンストラクトをムーブしてることやmake_pairやmake_tupleに
型の推論があることは調べたのですが上記のようになる理由が分かりませんでした
後clangとg++でどちらに合わせた方が標準的というのはあるのでしょうか
図々しくも質問が2つになってしまいましたがよろしくお願いします
635デフォルトの名無しさん
2020/12/02(水) 11:08:47.58ID:3dB9NeQy636デフォルトの名無しさん
2020/12/02(水) 11:20:44.01ID:CcFfxv7q637はちみつ餃子 ◆8X2XSCHEME
2020/12/02(水) 11:59:18.46ID:wCsCmSK2 >>634
そういう言語仕様だからそうなるとしか言えない。
たぶん必要な情報は
・ emplace_back ( https://cpprefjp.github.io/reference/vector/vector/emplace_back.html )
・ push_back ( https://cpprefjp.github.io/reference/vector/vector/push_back.html )
・ 一様初期化 ( https://cpprefjp.github.io/lang/cpp11/uniform_initialization.html )
かな。
言語仕様に沿っていれば普通は gcc でも clang でも問題は起きない。
たまには処理系のバグってことも無くはないが、
どちらかで問題が起きるなら書いたプログラムのどこかが間違ってる疑いのほうが濃い。
個別の事情によってはコンパイラをどちらかに固定することもあるかもしれないが、
理想としてはどちらでも良いようになっているほうが好ましくはある。
そういう言語仕様だからそうなるとしか言えない。
たぶん必要な情報は
・ emplace_back ( https://cpprefjp.github.io/reference/vector/vector/emplace_back.html )
・ push_back ( https://cpprefjp.github.io/reference/vector/vector/push_back.html )
・ 一様初期化 ( https://cpprefjp.github.io/lang/cpp11/uniform_initialization.html )
かな。
言語仕様に沿っていれば普通は gcc でも clang でも問題は起きない。
たまには処理系のバグってことも無くはないが、
どちらかで問題が起きるなら書いたプログラムのどこかが間違ってる疑いのほうが濃い。
個別の事情によってはコンパイラをどちらかに固定することもあるかもしれないが、
理想としてはどちらでも良いようになっているほうが好ましくはある。
638はちみつ餃子 ◆8X2XSCHEME
2020/12/02(水) 15:48:13.91ID:wCsCmSK2 >>631
シェルというか Python か Guile は使える。
https://sourceware.org/gdb/current/onlinedocs/gdb/Python-API.html#Python-API
シェルというか Python か Guile は使える。
https://sourceware.org/gdb/current/onlinedocs/gdb/Python-API.html#Python-API
■ このスレッドは過去ログ倉庫に格納されています
