[過去ログ] C++相談室 part165 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
19: デフォルトの名無しさん (アウアウウー Sad5-U1R4) [sage] 2023/11/02(木) 10:44:27.02 ID:BqsrFUCWa(1) AAS
(まちゅまちゅの3Dライブ?・・・ちょっと気になる)
29: はちみつ餃子◆8X2XSCHEME (ワッチョイ 823e-9NWm) [sage] 2023/11/05(日) 13:39:42.02 ID:pHGS9osC0(1/2) AAS
標準ライブラリでのムーブは所有権 (ownership) の概念を前提として構築されているし、
慣例としてもそのようにするものではあるんだが
言語としてはムーブコンストラクタ (またはムーブ代入演算子) を呼び出すというだけで
所有権の面倒をみる機能は何もない。
(辻褄が合うようにするのはプログラマの責任。)
何が起きているのかは所有権の概念と実装レベルで分けて考えたほうがいいと思う。

どう説明していいかわからんから関連する要素を箇条書きにしたらこんな感じかな。

・ それがコピーの文脈であるかムーブの文脈であるか区別は出来る
・ 一般的にムーブの文脈であった場合 (寿命が尽きる直前の一時オブジェクトの再利用が出来る場合) にコピーより効率が良い動作が出来る可能性がある
・ どのように効率がよくなるのかはそのクラス (のムーブコンストラクタやムーブ代入演算子) の定義次第
・ 典型的なムーブの実装はリソース本体を指すポインタの交換によって実現される
・ ユーザーが定義を与えなかった場合のデフォルトのムーブは全てのサブオブジェクトをムーブすることになっている
37
(1): デフォルトの名無しさん (アウアウウー Saa5-CWlg) [] 2023/11/05(日) 16:21:29.02 ID:ol9bMVcca(2/2) AAS
>>33
銀の弾丸ではない
手作業コーディングで責任を持たなければならないのは変わらない
101
(1): デフォルトの名無しさん (ワッチョイ de63-J7+h) [sage] 2023/12/30(土) 05:50:37.02 ID:3ksfrMrT0(2/3) AAS
クラスFooの入力ストリーム演算子の中で整数を2個読むとして、
std::istream& operator>>(std::istream& os, Foo& obj) {
 int x, y;
 os >> x >> y;
 if (!os.goot()) {
  return os; // エラー発生時は単純にreturn os; でおk?
 }
 obj.m_x = x;
 obj.m_y = y;
 return os;
}
112
(1): デフォルトの名無しさん (ワッチョイ e1f0-JZT3) [sage] 2024/01/01(月) 03:01:35.02 ID:5pNbZa2B0(1) AAS
>>104
まず自分でコード書いてみ
よろしくないところは指摘してやるから
158: デフォルトの名無しさん (ワッチョイ df63-+bVA) [sage] 2024/01/13(土) 14:15:12.02 ID:rNqWj2dY0(3/3) AAS
つなみにOSの内部ではすべてのリソースをOSが管理する前提なので例外の出る幕は無い
OSの設計に対して想定外の事象がOS内部で起きるとかあり得ないじゃない
レトロな(しかしメジャーな)OSがC++ではなくC言語で書かれ続けるのはそういう理由
286: デフォルトの名無しさん (ワッチョイ ffe0-UH2C) [sage] 2024/02/18(日) 09:00:09.02 ID:c1Urupub0(1) AAS
>>269
そのあたりの難しさを考えると、例外廃止してoptionalに統一したほうがいいかもな。
少なくとも例外みたいに変なフローで飛んで来ないし。
306: デフォルトの名無しさん (ワッチョイ 8b63-eOBD) [sage] 2024/03/04(月) 07:59:55.02 ID:KYG2Ugpe0(2/3) AAS
(※1) >>183 の関数そのものは、例外安全なスレッドオブジェクトでも使ったらtry { } catch () 無しの例外安全な関数うに書き直すことはできうる
382
(3): デフォルトの名無しさん (オッペケ Sr05-viEi) [sage] 2024/07/29(月) 22:02:41.02 ID:8hMQwTW/r(1) AAS
>>377

github にあがってるやつを、理解しようとして、助けになる本は、結局ない希ガス

実際、実践的なものがないので、文法理解で終わってしまうという

https://github.com/TadaoYamaoka/cmajiang

これ、再利用して、アプリを作りたいのだが
444
(1): デフォルトの名無しさん (ワッチョイ 0753-60ma) [sage] 2024/09/07(土) 11:45:08.02 ID:Zy1zUumM0(1) AAS
C++11あたりから「生ポは使うな」みたいな極論で分かった気になってる思い上がった初心者が増えたからなぁ
556: はちみつ餃子◆8X2XSCHEME (ワッチョイ cd32-4Bi2) [sage] 2024/11/13(水) 02:14:12.02 ID:Gj2zjD3b0(1) AAS
>>553
汚いが、必要なものはある。
綺麗に整理されてても必要なものがないよりは良い。
685: デフォルトの名無しさん (ワッチョイ fd63-KThN) [sage] 2025/02/16(日) 10:21:00.02 ID:AY7cmtZI0(3/4) AAS
今やDouble-Checked Locking is Fixed In C++11されたのだから
static local 変数を使う意味は無くなた
※ 個人の感想です
714: デフォルトの名無しさん (ワッチョイ 7956-s+rv) [] 2025/03/05(水) 18:48:09.02 ID:LRhSWm980(1/4) AAS
プログラミング専用ってどゆこと?
819: デフォルトの名無しさん (ワッチョイ 4587-wZYf) [sage] 2025/04/06(日) 07:42:00.02 ID:xouJqKec0(1/2) AAS
前者は仮想関数を派生クラス経由で呼べないように出来る
というか派生のコンストラクタをprivateにして、friend指定したcreatorクラス経由でしか生成出来ないようにするとかそういうのに便利
あと後者は、試してないけど派生の同シグネチャの関数は基底経由で呼べないと思うよ、vtblに登録されてないから
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.657s*