C++相談室 part153
at TECH
[前50を表示]
500:はちみつ餃子
20/11/07 23:39:31.38 24XfCTPm.net
>>485
念のため規格の当該箇所を探してみたら this についてわざわざ脚注で書いてあったわ。
URLリンク(timsong-cpp.github.io)
初期化順序はくれぐれも気を付けんとあかんけど、this が駄目ということはないのは間違いない。
501:デフォルトの名無しさん
20/11/07 23:42:39.92 9rEAH6th.net
おせーな。
5分で探して来い。
502:デフォルトの名無しさん
20/11/14 18:09:43.36 FszncLid.net
VC++って今でも最先端のシステムでも使われていますか?
503:
20/11/14 18:57:11.05 ovQs8svh.net
>>495
うちの会社では 2008年くらいからは C++ ではアプリは作っていなくて、もうすっかり C# に移行してしまっているようです…
いや、私は施設管理をやっているので、会社の深いところはさっぱりわからないんですけど
504:
20/11/14 18:58:45.49 ovQs8svh.net
mfc42.dll
の内部バージョン違いに、ほとほと懲りたらしいです……
505:デフォルトの名無しさん
20/11/14 19:03:42.05 liKT9ZZB.net
あれはひどかったな
506:デフォルトの名無しさん
20/11/14 19:21:56.26 IHUe5vhA.net
>あれはひどかったな
ちょっなんで??
DLLにstd::vector<T>やstd::string<T>とか渡そうとした???
507:デフォルトの名無しさん
20/11/14 19:23:33.64 liKT9ZZB.net
仕様が違うものを同じファイル名にするなって話
ISO/IEC14882のライブラリは全く無関係
508:デフォルトの名無しさん
20/11/14 19:25:17.74 IHUe5vhA.net
手製DLLへのデータ渡しににはchar[]とか基本型onlyとして
CRTをスタティックリンクしたらランタイムのインストールすら不要
で完全解決…!
全要素手製でコントロールできればの話ではある
が
509:デフォルトの名無しさん
20/11/14 19:37:00.66 liKT9ZZB.net
なんか話になってないな
つまらんからやめる
510:デフォルトの名無しさん
20/11/14 19:41:20.95 wQlu6eHI.net
std::string<T>て
511:デフォルトの名無しさん
20/11/14 19:56:02.78 IHUe5vhA.net
CRTではなくてこの場合MFCをスタティックリンクしたらやったスマンコ、
512:デフォルトの名無しさん
20/11/15 12:36:52.05 YXN+C+qx.net
>>496
ありがとうございます
513:デフォルトの名無しさん
20/11/15 12:45:20.15 z250o8Kw.net
VC++ってことはプラットフォームはWindows固定か
Windows前提ならC++使い続ける理由は特にないね
514:デフォルトの名無しさん
20/11/15 14:27:41.73 1NoBqfO6.net
MFCなんか使うからだろ
自己責任
515:デフォルトの名無しさん
20/11/15 15:39:12.99 ZF6xjL9s.net
webサイトぐらいしか作った事無いド素人なのですが
cheatengineのようなツールはどうやって作るのですか?
516:デフォルトの名無しさん
20/11/15 16:01:31.41 fUqPXTtq.net
ツールはReactかVueですね。
517:デフォルトの名無しさん
20/11/15 16:32:14.80 U+/Dwi3J.net
マルチ禁止
518:
20/11/15 21:02:27.25 XnBy/n8J.net
>>510
そのマルチポスト禁止っていうのは fj の時代ならまだしも、2ch に当てはまるのですか?
マルチポストとクロスポストの違いはなんですか?
519:デフォルトの名無しさん
20/11/15 21:29:20.86 UQYtdYHl.net
自分の頭で考えることを放棄したマニュアル人間
520:デフォルトの名無しさん
20/11/15 21:57:12.59 9LlY7wvz.net
いまは2chは無いんだよおっさん
521:デフォルトの名無しさん
20/11/15 22:32:36.77 UQYtdYHl.net
くだらねえ突っ込みだな
それで誰かはっとする奴がいるとでも思っているなら
どうしようもねえバカ野郎だ
522:デフォルトの名無しさん
20/11/15 23:02:36.34 QB7zB470.net
なんにせよスレチなんで
523:デフォルトの名無しさん
20/11/15 23:22:10.25 AQ/HY5jp.net
>>511
せっかくちょい調べて回答したのに他スレで一時間前に回答が出てたらイラッとするのは当然だろ
524:
20/11/15 23:35:29.19 XnBy/n8J.net
>>516
確かにその感情は理解できます
525:デフォルトの名無しさん
20/11/16 00:15:05.39 tkpwZn9D.net
>>508
windowsだけで動けば満足ならメモリ読み書き関連はwinapi
デバッガ、逆アセ関連は pythonによるバイナリ解析技法 とかそれに似たような本読めば少しは載っていると思います。
526:デフォルトの名無しさん
20/11/16 04:42:45.86 tkpwZn9D.net
スレを全く読まないで反射で答えてしまいました。
今気付きました、すみませんでした。
527:デフォルトの名無しさん
20/11/16 06:44:11.49 OL16ghBV.net
>>516
心が狭い、というかてめーの都合だろそれ
勝手にイラついてろよ、こっちにゃ関係ねえわ
528:デフォルトの名無しさん
20/11/16 07:50:58.47 u3jXok4q.net
>>520
マルチするのはお前の都合だろ。人の時間を無駄に使わすな
529:デフォルトの名無しさん
20/11/16 07:59:26.89 OL16ghBV.net
互いにてめーの都合だからな
知らん馬の骨に命令すんな
何様のつもりだ
530:デフォルトの名無しさん
20/11/16 08:01:26.23 QRq3yxwv.net
時間を無駄に使うって>>516みたいな話?
他で解決済みだったら無駄になるって意味がよくわからん。回答したらちゃんと感謝してほしいとか?
531:デフォルトの名無しさん
20/11/16 08:05:45.08 OL16ghBV.net
ここは技術板なのに
クロスポストできるシステムを作ろうともしない
フリーライダーが吠えてるだけだ
532:デフォルトの名無しさん
20/11/16 08:26:08.12 GdRLcc7O.net
bool GoToHell(bool gotoTravel, bool gotoEat)
{
return (gotoTravel || gotoEat);
}
533:デフォルトの名無しさん
20/11/16 09:04:54.68 T8j9su4c.net
>>522
お前は自分のことを馬の骨だと思ってんのか。自覚はあるんだなw
534:デフォルトの名無しさん
20/11/16 10:24:06.29 OL16ghBV.net
>>526
だからどうした?
ぐうの音も出なくてそんなくだらんことぬかしたか?
535:デフォルトの名無しさん
20/11/16 11:03:12.40 2ijHHLJY.net
ぐう😪
536:デフォルトの名無しさん
20/11/16 11:23:44.07 hTDmnJOp.net
腹ペコかよ
537:デフォルトの名無しさん
20/11/16 11:36:22.45 OL16ghBV.net
勝負あったな
これからもマルチであろうが何であろうが
どこにどんな投稿をしようが口出しは無用だ
収穫ゼロでご苦労だったな
538:デフォルトの名無しさん
20/11/16 12:57:31.91 sF1WJXNT.net
仮に百歩万歩譲ってクロスポストの機能が無いからマルチを許すとしても
マルチ投稿にはオリジナルのスレとレス番へのリンクの同時投稿を義務付けるべき
539:デフォルトの名無しさん
20/11/16 13:00:20.03 OL16ghBV.net
義務違反したらどうなるんだ?
実効性のない俺ルールを勝手に吠えてろセンズリこき野郎
540:デフォルトの名無しさん
20/11/16 13:07:05.30 BvdXplQc.net
義務ではないよ
答えの付かない質問だけが残ってるのって寂しくない?
質問に答えが付かないって認識が定着しちゃうとコミュニティの衰弱にも繋がる
悲しいね
541:デフォルトの名無しさん
20/11/16 15:15:24.81 OL16ghBV.net
どう書けば回答が付きやすいかなんて
みんなそれぞれ考えてることだ
俺様が考えたベストな方法なんて誰も興味ねえんだよ
コミュニティの衰弱に繋がるキリッだっておバンバン
俺様が自分の頭で考えてるのはまだマシなほうで、
fj時代で頭の更新が止まったままの化石か
古代遺跡から発掘した碑文に洗脳されたバ…若者か知らんが
おおかたそういう手合いのマニュアル人間だろどーせ
542:デフォルトの名無しさん
20/11/16 16:33:15.96 MWCEXPaa.net
誰か教えてほしい。データベースの基本中の基本だと思うけどよくわからんです
数万の部品の名前があるとして簡単にa,b,c,d,eとする
すでに、c,b,a,eと登録されているところに新たにdを登録するとき、順番も大事で、
d,c,b,a,eとなります
ここで、cを削除したいとき、この順番だけで並んでいると数万のデータをひとつずつ一致確認していかなくてはいけないので
めちゃくちゃ時間がかかる。よってソートして順番もひもづけした
a4,b3,c2,d1,e5というのを作っておいて、cを削除するときはここから2分探索でcは2番目というのがわかるのでd,c,b,a,eの2番目のcを
削除するのと同時に、a4,b3,c2,d1,e5のc2も削除するとこちらはa4,b3,d1,e5となってしまう。でもこちらで欲しいのは
a3,b2,d1,e4で、つまり、2以上の数字は全部マイナス1して回らないといけなくなって、ここにまた時間もかかってしまう
これは新しいデータを登録するときも同じ原理でプラス1しないといけないです
もっとスマートないい方法はないでしょか
543:デフォルトの名無しさん
20/11/16 17:09:54.39 OL16ghBV.net
a4,b3,c2,d1,e5
↓わざわざこんなことしなくていいと思う
a3,b2,d1,e4
a4,b3,c0,d1,e5 さらには
43015 でいいじゃないか
544:デフォルトの名無しさん
20/11/16 17:40:46.63 hTDmnJOp.net
データベースは空き時間にデータをソートするからな
登録したてのデータはライトバックデフォだろ
で、参照数の多いデータを頭に持ってくる
木というかハッシュを何個かに分けて参照数の差で管理すればやり易い
545:デフォルトの名無しさん
20/11/16 18:17:01.54 uQizIpoB.net
そもそも既製RDBを使う話?それともデータベース的なものを自分で作る話?
そこハッキリしないと平行線だぞ
546:デフォルトの名無しさん
20/11/16 18:43:02.87 MWCEXPaa.net
>>536
では、
d,NULL,b,a,e
a4,b3,c0,d1,e5
としたあとに、新しいデータda(dとeの間)が来たとき、順番は
da,d,NULL,b,a,e
となりますが、ソートの方は
a4,b3,c0,d1,da??,e5
はどうなりますか?逆順にすればいいという話もありますがもっと本質的にいい方法はないかと
>>538
自分でプログラミングする話です
C++なので、アドレス参照の*x や**x みたいのを上手に使って出来ないかなあって
547:デフォルトの名無しさん
20/11/16 19:00:52.03 uQizIpoB.net
単に順序の管理用と名前検索用の赤黒木かなんかを作っとけばいいだけの話じゃないの?
違うの?
548:デフォルトの名無しさん
20/11/16 19:00:58.93 Jgt25IWR.net
例えば
map<id,parts> master; // パーツマスター
list<id> seq; // パーツの並び
map<id, list<id>::iterator> lookup// 各パーツのseq中の位置の参照テーブル
ってしておいて、seqに突っ込んだ要素はlookupに参照用の登録をする。
549:デフォルトの名無しさん
20/11/16 19:32:53.88 Z6yFFWiy.net
>>540
そう言うことやね
そもそも配列で要素削除したら詰める処理にめっちゃ時間かかるし
550:デフォルトの名無しさん
20/11/16 19:36:29.66 oSwqK6E+.net
>>535
「間に入れる」という操作が少ないのなら、ソート用のシリアル番号を項目に用意する。
頻繁に挿入操作するとしてもシリアル番号を有理数化して調整すればいい。
551:
20/11/16 20:21:10.58 K6OrqUDY.net
>>537
RDBS はデフォではソートなんかしないし、ソートされたデータが欲しかったら INSERT/UPDATE/DELETE 時にすでにインデックスを張っておくように、あらかじめわざわざ指定するものだと思いますが
空き時間にバックグラウンドでソートする DB なんて聞いた事がないですね
よろしかったら、そういう DBS が何か教えていただけませんか?
552:デフォルトの名無しさん
20/11/16 20:33:56.43 hTDmnJOp.net
ソートじやねぇ
デフラグだ
553:デフォルトの名無しさん
20/11/16 21:12:03.78 BvdXplQc.net
>>544
ソートという言い方はちょっとおかしいけどそれに近いことをRDBはしてるよ
インデックスが探索しやすいようにディスク上でも物理的に並べ替えて配置される
クラスタ化インデックスならレコード自体が並べ替えられると言えるね
といっても隙間なくギッチリ詰めて並べ替えてしまうと中間挿入が発生するたびにソートが必要になってしまうので
通常はある程度の余白を持たせて中間挿入や削除に耐えられる
ように配置される
これを充填率やフィルファクターという
そして定期的にインデックスを再構成・再構築することで充填率が高くなり過ぎないようにする
これはバックグラウンドで行われるよ
554:
20/11/16 21:16:37.23 K6OrqUDY.net
>>546
コメントありがとうございます!
でも「インデックスを再配置する」タイミングは、やっぱり update/insert/delete のタイミングなんじゃないでしょうか?
555:デフォルトの名無しさん
20/11/16 21:25:44.06 BvdXplQc.net
充填率100%ならトランザクション中にリアルタイムで再配置するしかないけど
充填率100%未満ならその場でインデックスを再構築したりはしない
最近のRDBは行バージョンに対応してるからトランザクションログさえ書ければガンガンいくよ
実データファイルの書き換えは後回しにしても整合性保てるので
556:デフォルトの名無しさん
20/11/16 21:33:03.21 hTDmnJOp.net
だからそれがライトバックだろバカもんが
557:デフォルトの名無しさん
20/11/16 21:34:06.52 OL16ghBV.net
>>539
フルスペルからエントリ番号を引ける辞書か数学関数があればいいだろ
558:デフォルトの名無しさん
20/11/16 22:10:00.49 2ijHHLJY.net
エネルギー充填率120%!!
559:デフォルトの名無しさん
20/11/17 00:16:25.08 UNFUL2Kr.net
主キーでB-treeを構成する
PostgreSQLは明示的にバキュームする(B-treeの調整だけではないが
ところでB-treeってなんですか(・∀・)?
560:デフォルトの名無しさん
20/11/17 12:40:30.03 PuHDpULa.net
二分木、binary tree
b-tree, b+tree とか色々な種類がある。
データベースは、b+treeが多い
561:はちみつ餃子
20/11/17 12:52:49.72 lifPo1s+.net
B木 (B-tree) は二分とは限らないよ。
ところでこのBはバランスのBかと思ってたんだけど
考案者とか関連会社の頭文字という説もあるみたいだね。
562:デフォルトの名無しさん
20/11/17 13:16:51.60 XfP96roT.net
BinaryかBalanceかどっち?
563:デフォルトの名無しさん
20/11/17 13:40:13.56 LFLSoNm5.net
binaryじゃ二分になっちまうから違うな
564:デフォルトの名無しさん
20/11/17 13:40:16.49 KFJ2cj0W.net
発祥はわからんけど今となってはBalanced/Balancing Treeだろうな
日本語訳も平衡木だしね
565:デフォルトの名無しさん
20/11/17 17:31:51.25 gGBQNTu8.net
定期的に最小完全ハッシュ関数を求めて置き換える。
566:デフォルトの名無しさん
20/11/17 19:20:00.69 Tiv5/dm/.net
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.
567:デフォルトの名無しさん
20/11/17 21:21:24.35 LFLSoNm5.net
完全ハッシュって、衝突が起こりえないってこと?
ハッシュの使い方の基本がわかってねえやつが考えることの典型だが
568:デフォルトの名無しさん
20/11/17 23:48:10.65 UNFUL2Kr.net
PostgreSQLのハッシュは衝突したら線形リストに収める的なやつだったはず…
569:デフォルトの名無しさん
20/11/18 10:04:24.66 fvU2iODC.net
完全ハッシュ関数は簡単に作れる。
auto hash(auto a) { return a; }
最小であることが重要。
570:デフォルトの名無しさん
20/11/18 10:11:34.00 fvU2iODC.net
constexprでコンパイル時に最小ハッシュ関数が静的に解決される。
これぞ神言語。
571:デフォルトの名無しさん
20/11/18 10:11:37.19 hkPPdx4I.net
まあIdentityも定義には嵌まるかな
572:デフォルトの名無しさん
20/11/18 10:57:38.49 +eOywhWF.net
>>562
ぷw
573:デフォルトの名無しさん
20/11/18 13:28:57.32 oGkGNlvA.net
確か、ハッシュが衝突した所を、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 になる
574:デフォルトの名無しさん
20/11/18 16:06:44.89 fvU2iODC.net
C++も結構風呂敷広げる系言語だけど、Haskellには負けてしまうなあ。
575:デフォルトの名無しさん
20/11/18 20:57:21.43 v8HWKopj.net
ハッシュ関数とハッシュテーブルの話がごっちゃになってる
576:デフォルトの名無しさん
20/11/18 21:45:14.61 m5UtHFcK.net
わてほんまによー言わんわ♪
577:デフォルトの名無しさん
20/11/18 21:47:58.74 fvU2iODC.net
上げ。
578:デフォルトの名無しさん
20/11/18 21:51:25.76 fvU2iODC.net
完全最小ハッシュ関数は、Nginxで使われてたんじゃなかったかな。
前に調査した時見たと思うわ。
579:デフォルトの名無しさん
20/11/20 16:43:55.07 WhXHGWda.net
Windows環境のVC++2010でマクロプログラムを作ってます。
CapsLock状態をプログラム上から直接変更する手段はありますか?
最悪仮想キーコードでシフト押下、Caps押下、離す、離すの4手で実現はできるのかなとは思いますが
580:デフォルトの名無しさん
20/11/20 16:49:03.01 JmNduuKf.net
URLリンク(docs.microsoft.com)
581:デフォルトの名無しさん
20/11/20 17:05:17.17 KM6YfWXc.net
>>572
できなかったと思う
できたとしてもやるべきではない
CapsLock状態かどうかを調べることはできる
プログラムでAを入力するときCapsLock状態ならaを送る
CapsLock状態でないならShift+aを送る
なんてことをやったことある
582:デフォルトの名無しさん
20/11/20 17:48:13.50 2Xtms9kk.net
質問するときくらい、あげていきましょうや。
583:はちみつ餃子
20/11/20 18:07:40.81 QATBBV0x.net
専用ブラウザでお気に入りスレを巡回するし、
スレ一覧を見るときもタイトルで検索かけるから
上がってるか下がってるかなんて見てないな。
見てる人ってそんなにいる?
584:デフォルトの名無しさん
20/11/20 18:39:27.79 2Xtms9kk.net
専ブラってなんすか?
585:デフォルトの名無しさん
20/11/20 20:09:54.73 8HnFa960.net
むかし2chが検索からガンガン流入してた時代は意味あったけど
もはや検索からははみごにされ廃れきってネット老人サロンと化した
今の5chではほとんど意味ない文化だなage/sage
586:デフォルトの名無しさん
20/11/20 23:20:16.49 2Xtms9kk.net
だったら、上げていきましょうや。
587:デフォルトの名無しさん
20/11/20 23:36:24.04 tRQ7sQvu.net
だが断る
588:デフォルトの名無しさん
20/11/21 08:35:59.33 beyH0yOT.net
LINEで既読スルーがどうたらと一喜一憂してるバ…若者をうらやましいと思ったことは只の一度もない
やたら何たら離れしまくり四六時中ゲームしかしなくなる廃人化傾向は嘆かわしい限りだ
老害で結構だ、言わせておくさ てめーらより人生楽しいぜ
589:デフォルトの名無しさん
20/11/21 09:06:30.33 gA6oFLIj.net
べつに老害とかいうてませんがな
たんじゅんに皆年寄なりましたな、いうてるだけで
590:デフォルトの名無しさん
20/11/21 09:09:50.16 beyH0yOT.net
ワード1つに噛みつく以外に言うことが何もねえってことか
少しくらいあれよ、これ以上絶望させてくれるな
591:デフォルトの名無しさん
20/11/21 09:12:51.55 kTU0dCRJ.net
おじいちゃん、こんなクソスレで何をそんなに息巻いてるのよ
お体に障りますよ
592:デフォルトの名無しさん
20/11/21 09:14:58.42 R3A7NkyC.net
>>581
マ板の40代スレに変なポエム書いてる奴がいたが、同じ臭いがする
593:デフォルトの名無しさん
20/11/21 09:18:51.83 beyH0yOT.net
ゴミばっか
ここム板だぜ
らしい話しろよ
594:デフォルトの名無しさん
20/11/21 13:02:47.48 t4UXk0gp.net
したがって、上げていきましょうや。
595:デフォルトの名無しさん
20/11/22 01:10:01.54 mIY2Yy/p.net
>>573-574
ありがとうございます。
ゲーム側の仕様で歩く/走るの切り替えがCapsLock状態なので、そこを制御したかったんですよね。
Shift押しっぱなしでも切り替わるは切り替わるんでそれをメインに考えてみます
596:デフォルトの名無しさん
20/11/22 14:11:14.57 3aKbbyVM.net
RTTIってどんな原理で実装されてるんですか?
597:デフォルトの名無しさん
20/11/22 14:26:33.97 KUPbiAdd.net
>>589
仮想関数と同じように、クラスごとにコンパイラがデータ生成して個々のオブジェクトから辿れるように埋め込む。
598:デフォルトの名無しさん
20/11/22 14:33:39.46 gdEBKvV8.net
どんな高度なことをやってるように見えてても結局はC言語で実装してんの?
599:デフォルトの名無しさん
20/11/22 15:03:04.61 h+lYxto0.net
>>591
CPUが直接理解できるのはマシン語のみ。
そのマシン語に一対一に近い対応関係があるのはC言語。
だからどんな高度なことをやっているように見えてもほとんど全ての場合が
C言語で書ける。
600:デフォルトの名無しさん
20/11/22 15:51:20.82 o/Js7Lov.net
>>590
RTTI有効にしたらパフォーマンス落ちるっていうのをみたことあるけど
ただデータ(プログラム領域?)が増えるだけなら落ちなくない?
601:デフォルトの名無しさん
20/11/22 17:19:17.03 LCd15qeF.net
仮想関数テーブルのアドレスがクラスのIDの役割を果たす
からRTTIするには仮想関数が1個以上あれば良く、
それさえクリアしたら追加の空間コストはない
602:デフォルトの名無しさん
20/11/22 17:29:03.52 2nm5SjZ0.net
多態するならデストラクタが仮想のはずだから事実上は追加コストないんだよね
603:デフォルトの名無しさん
20/11/22 20:02:41.94 L/uQBHM9.net
ダイナミックにやりたいヤツ用
604:デフォルトの名無しさん
20/11/22 20:07:55.27 BvpndlWI.net
>>593
ほとんど落ちないはずだが、RTTIとは別意に一般論として仮想関数を1つでも
定義することによって、非常に僅かながら落ちる。
オブジェクトを new した時、オブジェクトの隠れたメンバに、仮想テーブル
のアドレスを書き込む必要があるので、new一回当たり 1 クロックだけ遅くなる。
また、オブジェクトにアドレスを1個格納するのに必要な領域が増やす必要がある。
これは、32BITモードの場合、4バイト、64BITモードの場合、8バイト。
605:デフォルトの名無しさん
20/11/22 23:24:02.57 LCd15qeF.net
RTTIするからといって多態性設計とは限らないんじゃ…
古き良きenum定数によるswitchの代替という使い方も有り得る
606:デフォルトの名無しさん
20/11/23 06:50:21.21 SrPyOTC6.net
nested_exceptionで普通に使う
607:デフォルトの名無しさん
20/11/23 06:52:19.04 SrPyOTC6.net
単純にexceptionで捕獲した例外をsystem_errorとかで場合分けとかね
catchをオーバーロードするよりこっちのほうが融通が利く
608:デフォルトの名無しさん
20/11/23 21:12:23.11 gAkTmGSN.net
そんなコストを気にするほどランタイム速度要求の厳しいソフトなんかお前ら書かんだろ
609:デフォルトの名無しさん
20/11/23 22:39:23.22 ryjND0ia.net
多重ループの中のif文一個でも結構変わるしなあ
610:デフォルトの名無しさん
20/11/24 01:19:31.94 IV+MkG/a.net
>>602
確かに変わる。
大量のテキストファイルをパースする際の字句解析など、
今でもコードの1クロックの差で体感速度が現実に変わってくる。
611:(u_・y)
20/11/24 16:34:51.81 qTKKRlIf.net
(u_・y)最近C++で作られた出来の良いアプリって存在するの?
(u_・y)もう世の中のほとんどがブラウザーとそのブラウザー上で動作するスクリプトで完結してる気するんだけど
612:デフォルトの名無しさん
20/11/24 16:55:08.02 p7TzmKlx.net
そのブラウザがC++製だろうがwwwww
613:デフォルトの名無しさん
20/11/24 17:52:32.94 18TBNzSS.net
サーバを増やすんじゃなくて、時代はもうクラウドなんですよ!
614:デフォルトの名無しさん
20/11/24 18:12:54.60 zMf11be4.net
やめなよ
615:デフォルトの名無しさん
20/11/24 21:44:11.65 +m+UL9CA.net
>>603 どんなストレージ使ってんの?
617:デフォルトの名無しさん
20/11/24 23:18:43.39 EBaS3Lgi.net
何色のパンツはいてんの?w
618:デフォルトの名無しさん
20/11/25 14:30:01.10 yb7Sfyoy.net
やめなよ
619:デフォルトの名無しさん
20/11/25 18:03:06.30 GXxyf9BA.net
噂によると、メモリモデルに辟易していた、りーぬす先生が、NEW見た瞬間メモリモデルこれでよくねー?病にかかったと聞いた。
620:デフォルトの名無しさん
20/11/25 20:24:34.76 OwYFbtHk.net
あんなにC++はfuckでshitだって言ってたのに?
621:デフォルトの名無しさん
20/11/25 20:27:03.84 0vRedS2N.net
>>611
抜かせや証拠出せ
622:デフォルトの名無しさん
20/11/26 20:31:56.32 rfhyh3I2.net
今からC++勉強しようと思ってるんだけど江添本って評判いいの?
623:はちみつ餃子
20/11/26 21:31:52.07 aL88M1qg.net
>>614
「江添亮のC++入門」のことだよね。
評判は悪くはないと思うよ。
太っ腹なことに全文が github に置いてあるからタダで読めるし、
とりあえず序盤だけでも読んでみればいいんじゃないかな。
序盤でヘッダファイルの説明をすっとばして雑にやってるし、
継承の仕組みについて全く触れてなかったりするのは
入門向けにかなり思い切って省いてる感じはする。
一通り理解した後では他の本も読んだほうが良いと思う。
624:デフォルトの名無しさん
20/11/26 21:36:26.77 A1DZUd8N.net
>>615
どこのhubよ?
625:はちみつ餃子
20/11/27 11:50:52.05 TefhHHJS.net
>>616
ググれば上位に出てくるやん
URLリンク(ezoeryou.github.io)
626:デフォルトの名無しさん
20/11/27 12:25:02.43 4rNXQ0cM.net
ほう
627:デフォルトの名無しさん
20/11/28 02:48:58.01 G8gGytn9.net
へー
628:デフォルトの名無しさん
20/11/28 03:32:38.65 W53VNNYA.net
ふーん
629:デフォルトの名無しさん
20/11/28 08:49:49.77 /IOgDWl9.net
可変引数テンプレートのコンストラクタだとコピーコンストラクタやムーブコンストラクタより優先順位高い事ある?
630:デフォルトの名無しさん
20/11/28 09:11:22.92 KmyDCzB4.net
template <class... aho>
boke(aho&&...);
boke(boke&&);
これでどっちが優先てこと?
631:デフォルトの名無しさん
20/11/28 11:55:46.81 /HPnbUmI.net
非テンプレ版→テンプレ特殊化→テンプレの順に優先
632:621
20/11/28 13:44:25.19 /IOgDWl9.net
これを実行すると可変引数が優先されてAhoが出る
URLリンク(ideone.com)
633:デフォルトの名無しさん
20/11/28 14:33:28.98 /HPnbUmI.net
そのAhoはムーブじゃなくてbokeを作る時のデフォルトコンストラクトで出てる
634:はちみつ餃子
20/11/28 14:35:42.94 gUqAhKBc.net
>>624
Test<double> boke;
のときにデフォルトコンストラクタ (引数がないコンストラクタ) を呼出す。
引数なしで呼び出せるのはそれしかないからそれを呼ぶってだけで、
優先もクソもないのじゃ。
635:デフォルトの名無しさん
20/11/28 16:18:43.35 /IOgDWl9.net
ではこれで1が出るのは何故?
URLリンク(ideone.com)
636:はちみつ餃子
20/11/28 16:41:08.52 gUqAhKBc.net
>>627
テンプレートかどうかは重要ではなくて a が非 const だから非 const のほうが選択される。
637:デフォルトの名無しさん
20/11/28 17:23:45.26 /IOgDWl9.net
>>628
可変引数の方をconst&にしたら解決した!ありがとうございます。
638:デフォルトの名無しさん
20/11/28 21:09:45.69 2t4HVeMH.net
またアホみたいな流れかおもたら
意外とちゃんとした質問応答の流れでビビった
639:デフォルトの名無しさん
20/12/01 15:54:55.38 V2eyqU/t.net
gdbのプロンプトでシェルの文法使う方法ある?
具体的にはfor文で配列を走査しながら内容をprintしたりしたい
640:デフォルトの名無しさん
20/12/01 21:49:00.34 1uVg5H0L.net
>>631
配列自体をprintするんじゃだめ?
641:デフォルトの名無しさん
20/12/02 01:32:17.93 cCR9MlfF.net
>>632
添字番号を併記したりかんたんな演算を行ったりしたかった
642:デフォルトの名無しさん
20/12/02 05:03:16.50 OLoYTJfY.net
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つになってしまいましたがよろしくお願いします
643:デフォルトの名無しさん
20/12/02 11:08:47.58 3dB9NeQy.net
>>634
「上記のよう」と言われても、どの挙動に疑問を感じてるのかわからない。
「clangとg++」の質問も、ここで誰かに「ある」とか「ない」とか言われて何の意味があると思ってるのかわからない。
644:デフォルトの名無しさん
20/12/02 11:20:44.01 CcFfxv7q.net
>>634
まず君がemplace_backとpush_backの違いをどう理解しているのか、自分の言葉で説明してみよう
話はそれからだ
645:はちみつ餃子
20/12/02 11:59:18.46 wCsCmSK2.net
>>634
そういう言語仕様だからそうなるとしか言えない。
たぶん必要な情報は
・ emplace_back ( URLリンク(cpprefjp.github.io) )
・ push_back ( URLリンク(cpprefjp.github.io) )
・ 一様初期化 ( URLリンク(cpprefjp.github.io) )
かな。
言語仕様に沿っていれば普通は gcc でも clang でも問題は起きない。
たまには処理系のバグってことも無くはないが、
どちらかで問題が起きるなら書いたプログラムのどこかが間違ってる疑いのほうが濃い。
個別の事情によってはコンパイラをどちらかに固定することもあるかもしれないが、
理想としてはどちらでも良いようになっているほうが好ましくはある。
646:はちみつ餃子
20/12/02 15:48:13.91 wCsCmSK2.net
>>631
シェルというか Python か Guile は使える。
URLリンク(sourceware.org)
647:デフォルトの名無しさん
20/12/02 21:51:44.10 3RyObk2q.net
プログラミング初心者でC++で競馬予想ソフトを作ってみたいんだけどC++はそういうのに向かないんですかね?
スクレイピングってやつはC++でできないのか?
648:デフォルトの名無しさん
20/12/02 22:26:25.03 FHuLcrq8.net
できるけどC++はWebやテキスト処理が得意とはいい難いから別の言語の方がいいかも
649:デフォルトの名無しさん
20/12/02 22:45:20.94 9+QNoiNo.net
テキストはc♯のが向いてる
650:デフォルトの名無しさん
20/12/02 22:49:07.36 1SGYvOuK.net
>>638
対話モードのPythonインタプリタ上でgdbを動かせるということですか?
651:はちみつ餃子
20/12/02 22:59:56.90 wCsCmSK2.net
>>642
gdb のコマンドとして Python スクリプトが使えるという話。
652:デフォルトの名無しさん
20/12/02 23:31:37.18 3RyObk2q.net
ありがとうございました!
653:デフォルトの名無しさん
20/12/02 23:51:03.60 1SGYvOuK.net
>>643
スクリプトかぁ
対話的にやりたいですけどわかりました
ありがとうございます
654:はちみつ餃子
20/12/02 23:55:00.77 wCsCmSK2.net
>>645
対話的にもできるよ。
655:デフォルトの名無しさん
20/12/02 23:56:36.23 9+QNoiNo.net
pythonは仮想マシーンが必要
変数がすべてvariantなので初心者にはうってつけよ
656:デフォルトの名無しさん
20/12/03 00:11:32.72 MFKNATAf.net
>>646
ありがとうございます
なんか便利さの割にドキュメント少ない気がしますけど勉強します
657:デフォルトの名無しさん
20/12/03 06:42:09.17 w/MpdpQO.net
勉強するぞ!勉強するぞ!勉強するぞ!
↑
C++には似合わないような気が。
658:デフォルトの名無しさん
20/12/03 11:49:30.18 4DIFtwYV.net
>>649
どういう意味だ?
1. C++erならそれくらい勉強せずに使いこなせ
2. あるがままを受け入れろ。状況を変えようとするな
3. Pythonを便利と言うな
どれ?
659:デフォルトの名無しさん
20/12/03 22:01:01.64 anyYWQoy.net
「ブラック企業社員」のお助けアプリが誕生 開発したのは22歳金髪大学生、開発のきっかけとは?
URLリンク(news.yahoo.co.jp)
レシート買い取りアプリONEの17歳起業家、サービス一時停止から「怒涛の3カ月」で気づいたこと
URLリンク(www.businessinsider.jp)
ビジネス版マッチングアプリ「yenta(イェンタ)」全国展開 開始!
URLリンク(prtimes.jp)
ギフティング「TANP」運営がGCPほかから5億円調達
1日1200件の「リアルギフト」送付も可能に、U25起業家の新たな挑戦
URLリンク(thebridge.jp)
人はこうすれば“ハマる”、源流はゲーマー視点の「幸せ」
URLリンク(project.nikkeibp.co.jp)
アプリ開発での起業は難しくない!成功するために覚えておくべきこと
URLリンク(www.biz.ne.jp)
【稼ぎ方が知りたい!】アプリの開発の収入って実際どれくらい?
URLリンク(itpropartners.com)
ネット関連事業で起業した成功例8選!ネットで成功するには○○が重要!?
URLリンク(www.official.or.jp)
660:デフォルトの名無しさん
20/12/04 14:40:55.75 rp0tCaVB.net
>>637
返信遅れて申し訳ありません、読んで色々試したら何となくですが理由見えてきました
一番為になった回答です…本当にありがとうございました
661:はちみつ餃子
20/12/05 00:49:53.38 rsyXPWsW.net
>>652
結局のところ何がわからなかったのか言葉にしてくれんともやもやするんやが……。
662:デフォルトの名無しさん
20/12/05 08:56:44.63 F3hjf/ak.net
最近ずぶの素人にいきなりSTL教えたりする変な風潮、変なサイトが増えたせいで
こういうとこで初心者が苦労するんだよなぁ
ライブラリの使い方なんか、初心者がいきなりぶつかる"壁"であってはならんと思うんだが・・
先に言語自体の基本を学んでれば、>>634はここに聞きに来なくて済んでるはず
663:デフォルトの名無しさん
20/12/05 10:34:50.44 T+MIshnP.net
C++11以降はSTL前提で学んだほうが理解しやすい
664:デフォルトの名無しさん
20/12/05 11:14:52.77 pZ+vMW1v.net
STLとそうじゃないものの境界ってなに?
665:デフォルトの名無しさん
20/12/05 11:17:08.79 i8LYHGeY.net
そんなの意識する必要ない。"STL"なんて定義曖昧な言葉を使わなければよい。
666:デフォルトの名無しさん
20/12/05 11:41:24.32 f0cq7ZxN.net
C++を使わなくてもSTLを学ぶほうが良い。
それどころか、およそ学問というものに携わる者はSTLを学ぶべきだ。
なぜなら20世紀における抽象化最大の功績だからだ。
667:デフォルトの名無しさん
20/12/05 11:42:36.00 f0cq7ZxN.net
STLは宇宙人が教えた説があるほどクレバー、クレバー、そしてクレバーだ。
668:デフォルトの名無しさん
20/12/05 11:47:59.12 f0cq7ZxN.net
目からうろこですよ。
まじ鱗。
669:デフォルトの名無しさん
20/12/05 11:53:54.60 f0cq7ZxN.net
ムーブセマンティクスも感動したなあ。
あいつら本物の天才だな。
まじ鱗ですよ。
670:デフォルトの名無しさん
20/12/05 12:09:38.13 WVFX1CVk.net
unique_ptrとかthreadとかnumeric_limitsとかも"standard template library"だけどSTLとは呼ばれない
よく理解してないC++アンチが何となく叩きの槍玉に上げる時に使われる用語っていう印象
671:デフォルトの名無しさん
20/12/05 12:15:33.65 f0cq7ZxN.net
なんじゃそりゃ。
672:デフォルトの名無しさん
20/12/05 12:22:29.71 pZ+vMW1v.net
コントかよ
673:デフォルトの名無しさん
20/12/05 18:59:09.68 ynooL14Y.net
>>634
pairが初期化子リストによるコンストラクタを持たないから
c++ - emplace_back not working with std::vector<std::map<int, int>> - Stack Overflow
URLリンク(stackoverflow.com)
似たような質問があって、mapだと初期化子リストのコンストラクタがあるから、initializer_listを使って初期化出来てる
この箇所あたりがそれ
URLリンク(cpprefjp.github.io)
map(initializer_list<value_type> init,
const Allocator& alloc); // (11) C++14 から
URLリンク(cpprefjp.github.io)
pairのコンストラクタにはinitializer_listは出てこない
674:デフォルトの名無しさん
20/12/05 19:10:24.03 F+hw3W9u.net
>>662
御意
675:デフォルトの名無しさん
20/12/06 03:41:22.30 hI81p89D.net
>>665
違うと思うぞ
676:デフォルトの名無しさん
20/12/06 08:19:51.08 tzyWxjgm.net
じゃあ、多数決で決めましょうや。
677:デフォルトの名無しさん
20/12/06 11:09:55.43 sjTPCZjA.net
>>667
違うんだったら何が正解だ?
678:デフォルトの名無しさん
20/12/06 13:55:38.68 hI81p89D.net
>>669
単純にemplace_backはコンストラクタに渡す引数を、push_backは生成済みの実体を受け取るという違いを
>>634が分かってないだけだろ
ついでに言えば、pairにinitializer_listを受け取るコンストラクタがあっても
emplaceは可変長テンプレート引数だから、推定に失敗してどっちにしてもエラーになる
多分。
679:デフォルトの名無しさん
20/12/08 20:44:18.72 efO/t6By.net
visual studio 2019でstd::filesystemを使いたいのですが、namespace"std"にfilesystemがありませんと言われます
ググた通りにC++言語標準をC++17にしても変わりません
どうすればいいですか?
680:デフォルトの名無しさん
20/12/08 21:02:15.62 O6ovwbXJ.net
上の方に
#include<filesystem>
と書く
681:デフォルトの名無しさん
20/12/09 01:24:22.81 WuZTb4kZ.net
なんだそりゃあ?!
682:デフォルトの名無しさん
20/12/09 06:50:42.80 OrjjObtT.net
>>671
// cl 671.cpp /EHsc /std:c++17
#include <filesystem>
#include <iostream>
using namespace std;
using namespace std::filesystem;
int main()
{
directory_iterator d(current_path());
for(auto&& e : d) cout << e.path() << endl;
}
全く問題なく動くぞ
cl.exeのバージョンは19.28.29334 for x64
683:デフォルトの名無しさん
20/12/09 08:05:49.03 TKgHvdMy.net
>>671
脱線の話だがappleのclangでfilesystem使おうと思ったら、
OSを10.15以降にしないと動かない上にビルドしたバイナリもそれ以降。
macだとintel版はhomebrewでgcc落としてビルドすれば旧いのでも動く。
日本語などのファイル名の扱いは、自分の試した範囲で、mac,linux,winで微妙に違ってた。
「wstring」、「stringでutf-8」のどっちかしか出来ん処理系があって、
複数機種用のコードは結局ifdefで分けるしかなかった。
そのうちライブラリが整備されるとは思うけど。
しかし「ハ゜」→「パ」のmacの仕様には参った。
684:デフォルトの名無しさん
20/12/09 09:04:33.91 bCzZQrOf.net
脱線路運動。
685:デフォルトの名無しさん
20/12/13 02:22:39.32 1g8P/X2h.net
c++でRSSリーダー作れましゅか?
686:デフォルトの名無しさん
20/12/13 04:12:37.43 64ZS/1bZ.net
はい
687:デフォルトの名無しさん
20/12/13 11:52:25.92 83or1IML.net
RSSなんてもう誰も使ってないだろ
フィードしてるサイトなんてありゅ?
688:はちみつ餃子
20/12/13 13:34:03.99 hv54fxHN.net
ブログホスティングサイトの系統だと RSS を提供してないところとかあんまりないと思うが。
689:デフォルトの名無しさん
20/12/14 16:01:14.17 WlKHswnl.net
ていうかあちこちの言語スレで同じ事聞くのやめなさい
690:デフォルトの名無しさん
20/12/14 19:00:34.80 mjvV58cu.net
std::vectorのメンバ関数にfind()とかrfind()がないのはなんでですかね?
string::find()みたいにあってもよさそうな気がするんですが・・・
691:デフォルトの名無しさん
20/12/14 19:10:08.09 iTp2tyae.net
>>682
よう知らんけど、vector固有でなくても使えるアルゴリズムだからでは?
692:デフォルトの名無しさん
20/12/15 09:25:27.40 rqj48Chi.net
>>682
#include <algorithm>のfind()を使えってことだ
何でもかんでもメンバに突っ込むのは悪い設計だからだ
この意味でstring::findは蛇足ともいえる
現実にはstring::findはiteratorではなくsize_typeを返すので
複数の文字列の同じ位置、のようなことがやりやすい
693:デフォルトの名無しさん
20/12/15 13:10:21.94 qBOs25Ot.net
UTF8とかだと単純に同じバイト値探せばいいわけじゃないからstringは特殊化してるんだよ
694:デフォルトの名無しさん
20/12/15 13:19:55.29 PHBBuZ6n.net
>何でもかんでもメンバに突っ込むのは悪い設計だからだ
こういう考え方いかにもCから入りましたって感じだな
695:デフォルトの名無しさん
20/12/15 13:21:51.75 gbeRTgGG.net
UTF-16(wchar_t)と違ってUTF-8(char)なら同じバイト列を探せばいいんじゃないの?
ASCIIと同じコーディングで済むのがUTF-8が普及した要因だと思ってた
696:デフォルトの名無しさん
20/12/15 13:36:54.46 8mWx/Grk.net
>>687
短い系列は特に、部分列が一致したからといっても、
デコードした時にその文字かどうかは保証出来ないんじゃ?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
289日前に更新/258 KB
担当:undef