[過去ログ]
C++相談室 part164 (1002レス)
C++相談室 part164 http://mevius.5ch.net/test/read.cgi/tech/1683600652/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
412: デフォルトの名無しさん (ワッチョイ 7b7c-9nZq) [sage] 2023/07/05(水) 19:52:44.79 ID:tRsu2qbd0 あれは魔術書過ぎてちょっと…C++03時代の本だから古いし http://mevius.5ch.net/test/read.cgi/tech/1683600652/412
413: デフォルトの名無しさん (オイコラミネオ MMe7-hRAP) [sage] 2023/07/05(水) 20:15:53.22 ID:XE8fk1ziM 横からだけど組み込みは手続き型なのかイベントドリブンなのかも知らないので知りたいなw http://mevius.5ch.net/test/read.cgi/tech/1683600652/413
414: デフォルトの名無しさん (ワッチョイ c67c-mdfO) [sage] 2023/07/06(木) 03:34:48.12 ID:s5S2CoPB0 組み込みだから手続き型とか 組み込みだからイベントドリブンとか そういうのはないよ http://mevius.5ch.net/test/read.cgi/tech/1683600652/414
415: デフォルトの名無しさん (ワッチョイ 433e-hRAP) [sage] 2023/07/06(木) 09:09:22.20 ID:a8qSLwwI0 >>413 組み込まれていれば組み込みなんだよ。 扱う技術には何も違いは無い。 組み込みなら何らかの制御対象はあるだろうから その制御対象の性質には影響を受けると思うが。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/415
416: デフォルトの名無しさん (ワッチョイ 06f2-HE4y) [sage] 2023/07/06(木) 09:59:15.82 ID:ZkyJU/6U0 手続き型かどうかとイベントドリブンかどうかは関係ない概念 http://mevius.5ch.net/test/read.cgi/tech/1683600652/416
417: デフォルトの名無しさん (ワッチョイ d701-kcaK) [] 2023/07/06(木) 14:16:15.16 ID:ALXC3HlV0 >>412 横からだが魔術書とか、アンサイクロペディアの内容真に受けてるのか流行ってるのか知らんけど良くない 凝ったメタプログラミングとかしなくても、わりと実用的な知識が書いてあるよ オブジェクト指向だけだとユーザーに制約を押し付けてしまいがちな部分を、もう少し自由度高く、直交する概念を組み合わせて小さなパーツに分けるのにテンプレートが便利だよとかいう話が書いてある http://mevius.5ch.net/test/read.cgi/tech/1683600652/417
418: デフォルトの名無しさん (ワッチョイ df01-Jyjt) [sage] 2023/07/06(木) 14:28:39.97 ID:a0X6jP530 出版当時の衝撃は魔術と評されるに値したなぁ 今もって難解の書ではある 正座して読むべし http://mevius.5ch.net/test/read.cgi/tech/1683600652/418
419: デフォルトの名無しさん (ワッチョイ c67c-mdfO) [sage] 2023/07/06(木) 15:07:08.13 ID:s5S2CoPB0 足が痺れて集中できない http://mevius.5ch.net/test/read.cgi/tech/1683600652/419
420: デフォルトの名無しさん (ワッチョイ 7b7c-9nZq) [sage] 2023/07/06(木) 20:08:43.89 ID:3MFY2fBc0 >>417 いや読んだし持ってるし、面白くて良いことも色々書いてるのは知ってるよ でも「設計技法の本だよ!」ってC++詳しくない人に薦めるような本ではない http://mevius.5ch.net/test/read.cgi/tech/1683600652/420
421: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 433e-hRAP) [sage] 2023/07/06(木) 21:07:53.32 ID:a8qSLwwI0 C++03 と C++11 の間で大きな溝があるからなぁ。 言語を詳しく知った上でなら C++03 を前提として書かれた本でも 役に立つところを拾って読むということも出来るけど、 不慣れな内には薦められないというのはわかる。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/421
422: デフォルトの名無しさん (ワッチョイ c67c-mdfO) [sage] 2023/07/06(木) 21:11:56.86 ID:s5S2CoPB0 メジャーチェンジの上って何て言うんだろう グレートチェンジ? http://mevius.5ch.net/test/read.cgi/tech/1683600652/422
423: デフォルトの名無しさん (ワッチョイ d701-kcaK) [] 2023/07/06(木) 21:51:28.48 ID:ALXC3HlV0 >>420 ああ質問者と勘違いしてた ただ魔術書とか痛いし不正確な表現はよろしくない(実際Qiitaとかで価値の無い出典も示さないクソ記事書いてる奴がよく使ってる)と言いたいだけ あと>>409が初心者かどうかはわからんぞ http://mevius.5ch.net/test/read.cgi/tech/1683600652/423
424: デフォルトの名無しさん (ワッチョイ d701-kcaK) [] 2023/07/06(木) 21:53:09.37 ID:ALXC3HlV0 もちろん組み込み学ぶのに適した本だとは思わんけど http://mevius.5ch.net/test/read.cgi/tech/1683600652/424
425: デフォルトの名無しさん (アウアウウー Sabb-hiKC) [sage] 2023/07/06(木) 23:37:01.42 ID:YLJUKdW5a >>422 新装開店と言いつつ中身は実質閉店詐欺sale http://mevius.5ch.net/test/read.cgi/tech/1683600652/425
426: デフォルトの名無しさん (ワッチョイ 7f28-iz2R) [sage] 2023/07/07(金) 00:10:58.87 ID:EP1fLvq90 >>412 ほんそれ 積読のままになってる…… http://mevius.5ch.net/test/read.cgi/tech/1683600652/426
427: デフォルトの名無しさん (ワッチョイ 06f2-2tOT) [sage] 2023/07/07(金) 00:21:21.09 ID:AhT1sfN50 C++なんてもう20年くらいまともに使ってないんだけど大きく変わってるの? 普段使いするような部分で変わったのってどんなのあるの? http://mevius.5ch.net/test/read.cgi/tech/1683600652/427
428: デフォルトの名無しさん (オイコラミネオ MMe7-+Mc8) [sage] 2023/07/07(金) 00:32:21.86 ID:7ps2WMbUM new deleteしない 生のポインタを使わない moveの意識 http://mevius.5ch.net/test/read.cgi/tech/1683600652/428
429: デフォルトの名無しさん (ワッチョイ df01-Jyjt) [sage] 2023/07/07(金) 00:36:54.14 ID:2SE8uAkh0 >>427 moveが一番大きいかな? 生ポインタは20年前でも使わない人は使わなかった http://mevius.5ch.net/test/read.cgi/tech/1683600652/429
430: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 433e-hRAP) [sage] 2023/07/07(金) 01:56:31.07 ID:gGTaLgTI0 俺もムーブ (というかその前提である右辺値参照も) の存在が大きな差だと思う。 今となっては C++03 では右辺値参照なしでやってたってのが信じられんくらいだ。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/430
431: デフォルトの名無しさん (ワッチョイ 434e-+Mc8) [sage] 2023/07/07(金) 13:56:40.22 ID:/sgbjnHO0 右辺値参照とmoveでパラメータや戻り値などにclassのインスタンスを直接使いやすくなって、設計の自由度と安全性が格段に向上したとは思うけど、 その代わり、演算子のオーバーロード時のconstやexplicitの有無など、型推論の仕組みをきちんと理解して適切に記述しないとtemplateで訳わかんないエラーが出て、 初心者殺し度も格段に向上したよねw http://mevius.5ch.net/test/read.cgi/tech/1683600652/431
432: デフォルトの名無しさん (ワッチョイ 0e79-p0MK) [sage] 2023/07/07(金) 14:27:35.57 ID:tybFBPle0 まさに今20年前のコードメンテしてるからnew delete使ってるよ C++のランタイムすらリンクしてないからこれnewした時Win32APIの何が呼ばれてるんだろう?HeapAllocだったかな? http://mevius.5ch.net/test/read.cgi/tech/1683600652/432
433: デフォルトの名無しさん (スプッッ Sd22-yGZL) [] 2023/07/07(金) 14:38:08.14 ID:5UFmRPYBd スタティックライブラリがリンクされてるんでしょ ランダム使用時と完全に同じとは行かないけどほぼ同等の処理のはずだけど http://mevius.5ch.net/test/read.cgi/tech/1683600652/433
434: デフォルトの名無しさん (スプッッ Sd22-yGZL) [] 2023/07/07(金) 14:38:34.18 ID:5UFmRPYBd ランダムじゃなくてランタイム http://mevius.5ch.net/test/read.cgi/tech/1683600652/434
435: デフォルトの名無しさん (ワッチョイ ffb9-BMDt) [] 2023/07/08(土) 09:03:38.78 ID:Iqj4gtss0 g++でVLAを使ってるんですが、宣言時に初期化リスト使うのって未定義ですか? 公式のドキュメントを漁ってるんですが見当たらないので(英語苦手なので見落としてたらすみません) http://mevius.5ch.net/test/read.cgi/tech/1683600652/435
436: デフォルトの名無しさん (スップ Sd3f-hfg2) [sage] 2023/07/08(土) 09:37:22.13 ID:E0cUKLNxd C++にはそもそもVLAないぞ 非標準で実装されるケースはありうるけどね http://mevius.5ch.net/test/read.cgi/tech/1683600652/436
437: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f73e-kkOg) [sage] 2023/07/08(土) 09:56:47.19 ID:svQTfB7/0 >>435-436 C と同等の VLA を使えるように拡張されている旨はちゃんとドキュメントに書かれてる。 しかし C の VLA では初期化子を書けないことになってる。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/437
438: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f73e-kkOg) [sage] 2023/07/08(土) 10:03:16.21 ID:svQTfB7/0 GCC の具体的なドキュメントとしてはここ。 https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html > Variable-length automatic arrays are allowed in ISO C99, and as an extension GCC accepts them in C90 mode and in C++. http://mevius.5ch.net/test/read.cgi/tech/1683600652/438
439: デフォルトの名無しさん (ワッチョイ ffb9-BMDt) [] 2023/07/08(土) 10:10:11.44 ID:Iqj4gtss0 >>436 はい、処理系依存ということは認識してます >>437,438 ありがとうございます! http://mevius.5ch.net/test/read.cgi/tech/1683600652/439
440: デフォルトの名無しさん (ワッチョイ 9701-gR7n) [sage] 2023/07/08(土) 11:40:41.01 ID:hU6KuhT00 コンテナ使えばVLAって最早必要ないような... http://mevius.5ch.net/test/read.cgi/tech/1683600652/440
441: デフォルトの名無しさん (オイコラミネオ MMeb-kkOg) [sage] 2023/07/08(土) 12:00:36.50 ID:p+sO9/0DM 数年前にc++でありながらvectorすらない実装はあったけど http://mevius.5ch.net/test/read.cgi/tech/1683600652/441
442: デフォルトの名無しさん (スップ Sd3f-hfg2) [sage] 2023/07/08(土) 13:06:37.75 ID:E0cUKLNxd >>440 禿同 http://mevius.5ch.net/test/read.cgi/tech/1683600652/442
443: デフォルトの名無しさん (ササクッテロラ Sp0b-/+4S) [] 2023/07/08(土) 15:36:54.89 ID:lxagCGE0p CのVLAってスタック使われることもあるんじゃなかったっけか http://mevius.5ch.net/test/read.cgi/tech/1683600652/443
444: デフォルトの名無しさん (ラクッペペ MM8f-VHD8) [sage] 2023/07/08(土) 15:51:02.79 ID:Wmg0D33kM コンパイラによる http://mevius.5ch.net/test/read.cgi/tech/1683600652/444
445: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f73e-kkOg) [sage] 2023/07/08(土) 18:03:19.11 ID:svQTfB7/0 どうしても VLA が必要だとしたら そもそもヒープアロケーションのコードを書いてるときとか、 変則的なアーキテクチャで仕方がないとか、 C++ の言語機能が完全には使えない状況かな。 あるいはヒープアロケーションのコストを許容できないほど速度的に厳しいとか。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/445
446: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f73e-kkOg) [sage] 2023/07/08(土) 20:31:31.43 ID:svQTfB7/0 話をぶった切る上に去年の話でアレなんだがこの件。 https://mevius.5ch.net/test/read.cgi/tech/1653135809/734 なんの気なしにログを見返してて思い出した。 unexec だ。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/446
447: デフォルトの名無しさん (ワッチョイ ff7c-DxV6) [sage] 2023/07/08(土) 20:45:51.68 ID:wtJKE3gc0 もうアセンブラかVerilog使えって感じだな http://mevius.5ch.net/test/read.cgi/tech/1683600652/447
448: デフォルトの名無しさん (ワッチョイ 9ff0-STDj) [sage] 2023/07/08(土) 21:25:24.78 ID:lX93SXsZ0 世の中には動的確保のコスト計算できない人が多すぎるんだ http://mevius.5ch.net/test/read.cgi/tech/1683600652/448
449: デフォルトの名無しさん (ワッチョイ bf79-CBkq) [sage] 2023/07/08(土) 22:15:45.40 ID:gvv7KDv40 >>433 ちゃうちゃう、 new deleteのソースアセンブラに吐かせたの見たらGlobalAlloc GlobalFree使ってるわ さすがにGMEM_FIXEDだったけど http://mevius.5ch.net/test/read.cgi/tech/1683600652/449
450: デフォルトの名無しさん (ワッチョイ d7f0-7EMH) [sage] 2023/07/09(日) 04:19:53.74 ID:MkrAlSpi0 Windowsのメモリアロケータってクソだよな http://mevius.5ch.net/test/read.cgi/tech/1683600652/450
451: デフォルトの名無しさん (ラクッペペ MM8f-VHD8) [sage] 2023/07/09(日) 05:38:04.63 ID:4tVwl4EYM せやろか http://mevius.5ch.net/test/read.cgi/tech/1683600652/451
452: デフォルトの名無しさん (ワッチョイ ff7c-DxV6) [sage] 2023/07/09(日) 05:40:32.30 ID:DZU7rHSU0 Win16からの色々を引きずってるってこと? http://mevius.5ch.net/test/read.cgi/tech/1683600652/452
453: デフォルトの名無しさん (ラクッペペ MM8f-VHD8) [sage] 2023/07/09(日) 05:53:12.10 ID:xZgYfcZXM 引きずっているのはLocalAlloc http://mevius.5ch.net/test/read.cgi/tech/1683600652/453
454: デフォルトの名無しさん (オイコラミネオ MMeb-STDj) [sage] 2023/07/09(日) 07:55:31.77 ID:wAJ5czLTM なんとなくメジャーなものをけなして気持ちがよくなってるんだろ 楽だよなそういうので気持ちよくなれる人は http://mevius.5ch.net/test/read.cgi/tech/1683600652/454
455: デフォルトの名無しさん (ワッチョイ d7f0-7EMH) [sage] 2023/07/09(日) 09:27:34.88 ID:MkrAlSpi0 メジャーだからって完璧に出来ているとは思わない方がいい http://mevius.5ch.net/test/read.cgi/tech/1683600652/455
456: デフォルトの名無しさん (ワッチョイ ff7c-DxV6) [sage] 2023/07/09(日) 09:33:30.46 ID:DZU7rHSU0 反体制派な俺すげーだろって痛すぎる厨二病は昔からいるよね http://mevius.5ch.net/test/read.cgi/tech/1683600652/456
457: デフォルトの名無しさん (ワッチョイ f74e-STDj) [sage] 2023/07/09(日) 09:36:52.25 ID:IdmutbDk0 具体的にどういう場面で問題があるのか、可能ならサンプルコードなどを添えて指摘してくれないと、同意しようがないよね http://mevius.5ch.net/test/read.cgi/tech/1683600652/457
458: デフォルトの名無しさん (ワッチョイ d7c0-SCup) [sage] 2023/07/09(日) 10:14:00.41 ID:+WiQ27SB0 そりゃ様々な用途や優先すべき軸がある中で汎用的にあらゆる用途に高性能であれと言われたら 中庸にするか尖らせて特定用途で使い物にならなくなるかの二択になるよね http://mevius.5ch.net/test/read.cgi/tech/1683600652/458
459: デフォルトの名無しさん (ワッチョイ 9728-0TTi) [sage] 2023/07/09(日) 10:40:38.50 ID:ihdHNtRI0 EXEで確保したしたメモリーブロックをdllで解放するときに(そんなことをするなというのはさておき むしろmalloc()だとリンクするCRTのバージョン相違でトラブルになりかねないから OSがmalloc()的なことまでしてくれるのは良い事な希ガス知らんけど http://mevius.5ch.net/test/read.cgi/tech/1683600652/459
460: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f73e-kkOg) [sage] 2023/07/09(日) 10:57:36.03 ID:6ZzBc/+b0 C++ なら operator new のオーバーロードなんかも出来るわけだし コンテナ類もアロケータを差し込むことが出来るわけで メモリアロケーションに関して過剰なほどのカスタマイズ性がある。 もちろん提供されるアロケータで性能が足りるならそれに越したことは無いが、 足りないときでもなんとかできる可能性があるってのは C++ のいいところだよ。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/460
461: デフォルトの名無しさん (ワッチョイ 9728-0TTi) [sage] 2023/07/09(日) 11:09:45.90 ID:ihdHNtRI0 前なんかstd::vector<T>をdllに渡したら(コピー渡ししたら)クラッシュするトラブルに遭遇して 原因はC++のランタイムのバージョン相違やったorz http://mevius.5ch.net/test/read.cgi/tech/1683600652/461
462: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f73e-kkOg) [sage] 2023/07/09(日) 11:44:01.32 ID:6ZzBc/+b0 DLL を跨ぐときは生配列が結局は楽かなぁ。 他環境に移植する予定がないなら COM の流儀に従って SAFEARRAY とか。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/462
463: デフォルトの名無しさん (ワッチョイ d701-/+4S) [] 2023/07/09(日) 21:30:46.83 ID:Y+7J8yUt0 アロケータを指定するときってのは性能どうこうではなく環境や設計上の理由が主だよ それよりpolymorphic_allocatorはなんでコンテナのコピー時にget_default_resourceを返すんだマジで http://mevius.5ch.net/test/read.cgi/tech/1683600652/463
464: デフォルトの名無しさん (ワッチョイ 9701-gR7n) [sage] 2023/07/09(日) 21:44:31.99 ID:r53YpIy/0 10年くらい前だけど6コア(12スレッド) x 双頭のマシンで Debianのlibcのmallocをjemallocに置き換えたら かなり速くなって感動したなぁ いまのglibcのmallocはどうなんだろ? http://mevius.5ch.net/test/read.cgi/tech/1683600652/464
465: デフォルトの名無しさん (ワッチョイ 82f0-rqn1) [sage] 2023/07/15(土) 10:34:20.34 ID:/MZbR2lO0 最近クラス作るのが面倒な時thread_localのstd::vectorよく使うんだけど 何か問題起きたりする? http://mevius.5ch.net/test/read.cgi/tech/1683600652/465
466: デフォルトの名無しさん (ワッチョイ e2f0-WYHp) [sage] 2023/07/15(土) 11:05:18.52 ID:08dxROCJ0 問題を検証するコードを書いて実験してみれよ 一日で組めるだろ http://mevius.5ch.net/test/read.cgi/tech/1683600652/466
467: デフォルトの名無しさん (テテンテンテン MM34-Dvnh) [sage] 2023/07/15(土) 12:21:20.90 ID:lF+Fe8GnM >>466 それ悪魔の証明 http://mevius.5ch.net/test/read.cgi/tech/1683600652/467
468: デフォルトの名無しさん (ワッチョイ 5cfb-cHdk) [sage] 2023/07/15(土) 14:11:00.47 ID:bqZq+Kwu0 1日で組んだコードも合わせて技術ブログに記事を書くところまでがセット http://mevius.5ch.net/test/read.cgi/tech/1683600652/468
469: デフォルトの名無しさん (ワッチョイ 3279-EJzg) [sage] 2023/07/15(土) 14:24:56.68 ID:V/XrAlYW0 よく使う割に問題が起きてないならそれは問題ないのでは 証明終わり http://mevius.5ch.net/test/read.cgi/tech/1683600652/469
470: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bd32-2eqx) [sage] 2023/07/15(土) 14:38:32.48 ID:e8BGem9r0 >>465 std::vector 型の変数がスレッドローカルとして定義されること自体は問題を引き起こさない。 スレッドローカルな変数はスレッドの生成・解放と同じタイミングで生成・解放される普通の変数。 それで問題が起こるなら単にプログラムのロジックに誤りがあるってだけ。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/470
471: デフォルトの名無しさん (ワッチョイ 915f-9/0y) [sage] 2023/07/15(土) 15:24:04.02 ID:8R7I+TSs0 「クラス作るのが面倒な時」と「thread_localのstd::vector」の関連が見えないな。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/471
472: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bd32-2eqx) [sage] 2023/07/15(土) 16:45:55.27 ID:e8BGem9r0 >>741 std::thread は関数オブジェクトを受け取ることが出来る。 スレッドに固有、かつそのスレッド全体で使うようなデータは その関数オブジェクトが所有するのが常道のひとつ。 しかしスレッドローカル変数もスレッドの寿命と一致する形でのデータ置き場になる。 そういう意味で代替品であると見做すことができる。 という話だと私は解釈したが、 std::vector がどこから出てきたかはわからん。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/472
473: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9832-2eqx) [] 2023/07/15(土) 19:51:59.74 ID:jZQsWptc0 コードで言うなら https://wandbox.org/permlink/oZ8EAGChqPtobFuY みたいにするのは面倒だから https://wandbox.org/permlink/90mvVtrKUca4Iyic でいいよね? みたいな話だと思った。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/473
474: デフォルトの名無しさん (オイコラミネオ MM71-9/0y) [sage] 2023/07/15(土) 20:03:36.74 ID:UiYhW/dJM そもそもの知識がないからpythonみたいにリストにぶち込んで インデックスですべてやろうとかそんな話かとオモタ python界はすごいぞ クラスに変数など作らずすべて辞書にぶち込んで使ってたりする http://mevius.5ch.net/test/read.cgi/tech/1683600652/474
475: デフォルトの名無しさん (オイコラミネオ MM71-9/0y) [sage] 2023/07/15(土) 20:19:33.71 ID:UiYhW/dJM a = {} a['taro'] = {"name":"太郎","age":25, "sex":"男"} a['hanako'] = {"name":"花子","age":18 ,six":"六"} http://mevius.5ch.net/test/read.cgi/tech/1683600652/475
476: デフォルトの名無しさん (ワッチョイ e2f0-WYHp) [sage] 2023/07/15(土) 20:24:16.88 ID:08dxROCJ0 変数がすべてバリアントだからなw http://mevius.5ch.net/test/read.cgi/tech/1683600652/476
477: デフォルトの名無しさん (オイコラミネオ MM71-9/0y) [sage] 2023/07/15(土) 20:27:48.20 ID:UiYhW/dJM if a['taro']["age"] ==a['hanako']["age"]: これって全然コード補完効かないから脳が死にかける http://mevius.5ch.net/test/read.cgi/tech/1683600652/477
478: デフォルトの名無しさん (オイコラミネオ MM71-9/0y) [sage] 2023/07/15(土) 20:32:21.17 ID:UiYhW/dJM name="name" age="age" sex="sex" six="six" とかしたらいいんか if a['taro'][age] ==a['hanako'][age]: 嫌すぎる http://mevius.5ch.net/test/read.cgi/tech/1683600652/478
479: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 163e-MI76) [sage] 2023/07/15(土) 20:42:45.70 ID:oCSaktaG0 プログラマではない人間もユーザー層として存在するし Python はそういう人間にもリーチしてしまったから 割合としてワヤなものもできやすいというのは理解できる。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/479
480: デフォルトの名無しさん (オイコラミネオ MM71-9/0y) [sage] 2023/07/15(土) 20:45:00.27 ID:UiYhW/dJM a['taro'] = {"name":"太郎","age":25, "sex":"男"} だけ見るとjsonなのかとも思える http://mevius.5ch.net/test/read.cgi/tech/1683600652/480
481: デフォルトの名無しさん (JP 0H8a-PPvg) [] 2023/07/15(土) 21:13:09.66 ID:2P0YU21lH あるクラスにあるクラスのコレクションを抱かさせてるなんて良くあると思うけど その際に外部からそのコレクションを参照したい場合、どうするのが定石なの? class Datas {private:std::vector<Data> _datas;}; publicにするとか、std::vector<Data>::iteratorをpublicにするとか const Data& operator[](int index)をpublicにするとかいろいろあると思うけど http://mevius.5ch.net/test/read.cgi/tech/1683600652/481
482: デフォルトの名無しさん (オイコラミネオ MM71-9/0y) [sage] 2023/07/15(土) 21:18:25.83 ID:UiYhW/dJM ファーストクラスコレクションの話? http://mevius.5ch.net/test/read.cgi/tech/1683600652/482
483: デフォルトの名無しさん (ワッチョイ df01-L4gQ) [sage] 2023/07/15(土) 21:22:12.84 ID:wfhnDtnz0 単数: datum 複数: data http://mevius.5ch.net/test/read.cgi/tech/1683600652/483
484: デフォルトの名無しさん (オイコラミネオ MM71-9/0y) [sage] 2023/07/15(土) 21:24:39.81 ID:UiYhW/dJM 今日本屋で○○データムと言う本があった DATAの単数形がdatumと言うことにこだわる大人って理系だけなんだろうなと感じたらこれだよ 即出て来た http://mevius.5ch.net/test/read.cgi/tech/1683600652/484
485: デフォルトの名無しさん (ワッチョイ df01-L4gQ) [sage] 2023/07/15(土) 21:35:08.39 ID:wfhnDtnz0 datumに拘ってるのではなくdatasなんて言葉はない http://mevius.5ch.net/test/read.cgi/tech/1683600652/485
486: デフォルトの名無しさん (JP 0H8a-PPvg) [] 2023/07/15(土) 21:43:33.89 ID:2P0YU21lH そこか、英単語をぐぐったら解決しました。 ありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1683600652/486
487: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 163e-MI76) [sage] 2023/07/15(土) 21:58:55.40 ID:oCSaktaG0 >>481 場合による。 見せる相手が最初から限定的であるような場合はフレンドを宣言すればいい。 コンテナ系クラスとかは内部的にはたぶんノードを表すクラスとか も使ってると思うけどそういう感じで密接に関連がありつつ 他では使う可能性がないような強い関係性がある場合はフレンドにする。 データを保持するためだけの汎用クラスとして定義するならデータメンバは public にしてもかまわない。 std::pair とかはそうなってる。 もうちょっと疎結合にしたいときなら許したい操作だけをpublic なメンバ関数として公開すると思う。 既存のクラスを使いつつ外部に公開するのはサブセットにしたいという場合なら プライベート継承した上で公開したいメンバだけ using するという方法も取れる。 #include <iostream> #include <vector> struct Data : private std::vector<int> { using std::vector<int>::vector; using std::vector<int>::operator[]; using std::vector<int>::begin; using std::vector<int>::end; }; int main(void) { Data foo = {1, 2, 3}; for (int x : foo) { std::cout << x << std::endl; } } http://mevius.5ch.net/test/read.cgi/tech/1683600652/487
488: デフォルトの名無しさん (ワッチョイ df01-L4gQ) [sage] 2023/07/15(土) 22:04:51.15 ID:wfhnDtnz0 >>481 privateメンバなのだから できるだけ外部からそのコレクションを参照しないように設計するべきだと思うよ どうしてもってならiteratorではなくconst_iteratorにするとか あなたが書いてるようにconst Data&を返すaccessorを実装するとか http://mevius.5ch.net/test/read.cgi/tech/1683600652/488
489: デフォルトの名無しさん (ワッチョイ 847c-zIhc) [sage] 2023/07/15(土) 22:07:48.52 ID:BdK15TwX0 "HogehogeData"という名前で定義されたプログラム上の存在があったら その複数形はHogehogeDatasと呼ぶしかない 気持ち悪くてもしょうがないんだよ http://mevius.5ch.net/test/read.cgi/tech/1683600652/489
490: デフォルトの名無しさん (オイコラミネオ MM71-9/0y) [sage] 2023/07/15(土) 22:15:14.37 ID:UiYhW/dJM ファーストクラスコレクションにしないならその実装は不要だ 基本的に存在意味がない http://mevius.5ch.net/test/read.cgi/tech/1683600652/490
491: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 163e-MI76) [sage] 2023/07/15(土) 22:20:38.51 ID:oCSaktaG0 ワイはプログラミング言語 Scheme を使ってるんやが Scheme の仕様には datum という語が出てくる。 シリアライズの単位に関する概念なのでリストひとつも datum と (つまり単数形で) 呼ばれるのが ちょっとモニョッとする。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/491
492: デフォルトの名無しさん (JP 0H8a-PPvg) [] 2023/07/16(日) 08:28:58.24 ID:PzNRrLhAH どうでもいいことを突っ込んでる人いますけど Datas=>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Data=>aaaaaaaaaaaaaaaa と置換してください http://mevius.5ch.net/test/read.cgi/tech/1683600652/492
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 510 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s