[過去ログ] 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
>>3333(2): デフォルトの名無しさん (ワッチョイ 653d-2MVi) [sage] 2023/11/05(日) 14:58:05.35 ID:vIwIC4VV0(1) AAS
質問した人じゃないけど説明ありがたいです
ムーブ難しいと思ってたけどもっと早く勉強して仕事で使うべきだった
(文法解析した要素をポインタいじって並べ変えるんだけど…
二重所有を防ぐのを手作業コーディングで責任を持たなければならないプログラムを作ってしまった)
銀の弾丸ではない
手作業コーディングで責任を持たなければならないのは変わらない
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
>>104104(1): デフォルトの名無しさん (ワッチョイ e95f-pFp4) [sage] 2023/12/31(日) 20:09:05.68 ID:tpduSr4A0(1) AAS
class A{
char buf_[size];
}
このbuf_に任意のオブジェクトをplacement newして使用するのだけど
このオブジェクトをコピーしたりムーブする場合、単純にコピー元のbuf_からコピー先のbuf_にmemcopyしてしまって大丈夫ですか?
まず自分でコード書いてみ
よろしくないところは指摘してやるから
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
>>269269(1): デフォルトの名無しさん (ワッチョイ 12ad-v2JO) [sage] 2024/02/13(火) 13:07:38.28 ID:mTl8FNrx0(1) AAS
> 典型的には小組織から始まるURLの並びですな。木構造との相性がひどく悪い。
それは人間から見たときと機械から見たときの見やすさの違いでしかないような気がする
でも日本の住所は大きい方から始まるんだよな
アメリカは個人から始まる
文化の違いやけども、日本人は機械生命体だったのかもしれぬ
そのあたりの難しさを考えると、例外廃止してoptionalに統一したほうがいいかもな。
少なくとも例外みたいに変なフローで飛んで来ないし。
306: デフォルトの名無しさん (ワッチョイ 8b63-eOBD) [sage] 2024/03/04(月) 07:59:55.02 ID:KYG2Ugpe0(2/3) AAS
(※1) >>183183(6): デフォルトの名無しさん (ワッチョイ 6d63-H5uA) [sage] 2024/01/28(日) 12:13:11.85 ID:W0uCnQb30(3/4) AAS
>>182
>catchしようがしまいが、例外が起きて 処理A→B→return となるのは同じだと思うが。
それは問題の認識がおかいし
例えば以下のコードにおいて、スレッドのゾンビを生じさせないためにはfuncB()をtry { } catch () { } は必須になる。
void bar() {
funcA(); // スレッドxを起動
funcB(); // 中でbaz() → foo()の呼び出し
funcC(); // スレッドxに停止シグナル発酵
funcD(); // スレッドxの終了待ち
return;
}
このように一般に例外が飛んでくる関数にはcatchするかしないかの選択権など無い
例外安全なオブジェクト「だけ」で事が済んでいない限り、例外を受けると決めた時点でcatchせねばならない
一方、例外を生じないライブラリの使い方(関数の呼び出し方)を心掛けるかどうか。これなら選択肢がある
の関数そのものは、例外安全なスレッドオブジェクトでも使ったらtry { } catch () 無しの例外安全な関数うに書き直すことはできうる
382(3): デフォルトの名無しさん (オッペケ Sr05-viEi) [sage] 2024/07/29(月) 22:02:41.02 ID:8hMQwTW/r(1) AAS
>>377
github にあがってるやつを、理解しようとして、助けになる本は、結局ない希ガス
実際、実践的なものがないので、文法理解で終わってしまうという
外部リンク:github.com
これ、再利用して、アプリを作りたいのだが
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 2.764s*