ホームページ > バックエンド開発 > C++ > C では、移動元の標準ライブラリ オブジェクトに対してどのような操作が許可されますか?

C では、移動元の標準ライブラリ オブジェクトに対してどのような操作が許可されますか?

DDD
リリース: 2024-12-25 11:50:40
オリジナル
310 人が閲覧しました

What Operations Are Permissible on Moved-From Standard Library Objects in C  ?

移動元オブジェクトの操作

移動元オブジェクトは破棄のみできるという一般的な誤解にもかかわらず、C 標準では移動元オブジェクトを指定しています。 -from 標準ライブラリ タイプのオブジェクトは不特定の状態に置かれるため、操作の範囲が制限されます。この状態はオブジェクトの移動元の後に発生し、通常は前提条件のない操作が可能になります。

無条件操作

通常、次の操作は移動元に適用できます。前提条件を満たさないオブジェクト:

  • 破壊:オブジェクトのメモリの割り当てを解除します。
  • 割り当て: 移動元オブジェクトを別のオブジェクトの値として設定します。
  • 定数観測: などの情報へのアクセスゲッター関数、配列サイズ、空性などbooleans.

条件付き操作

対照的に、次の操作では、オブジェクトが未指定の状態にないことが必要な場合があるため、通常は移動時に許可されません。 -からオブジェクト:

  • 逆参照: ポインターまたは参照を介してオブジェクトの内部にアクセスします。
  • ミューテーション: オブジェクトのフィールドに変更を加えます。

についてstd::swap

サンプルのスワップ関数テンプレートでは、代入操作 (2 行目と 3 行目) は、移動元オブジェクトを伴う場合でも有効です。これは、代入には一般に前提条件がないためです。

最後に

標準ライブラリ タイプの未指定状態オブジェクトの詳細を示す標準は 17.6.5.15 [lib.types.movedfrom] にあります。

以上がC では、移動元の標準ライブラリ オブジェクトに対してどのような操作が許可されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート