Looking for rust Answers? Try Ask4KnowledgeBase
Looking for rust Keywords? Try Ask4Keywords

Rustグローバル


構文

  • const IDENTIFIER:タイプ= constexpr;
  • static [mut] IDENTIFIER:タイプ= expr;
  • lazy_static! {静的参照IDENTIFIER:タイプ= expr; }

備考

  • const値は常にインラインであり、メモリ内にアドレスはありません。
  • static値はインライン化されず、固定アドレスを持つ1つのインスタンスを持ちます。
  • static mut値はメモリセーフではないため、 unsafeブロックでしかアクセスできません。
  • マルチスレッドコードでグローバル静的可変変数を使用すると危険な場合がありますので、 std :: sync :: Mutexやその他の方法を使用することを検討してください
  • lazy_staticオブジェクトは不変であり、一度だけ初期化され、すべてのスレッド間で共有され、直接アクセスすることができます(ラッパータイプは関係ありません)。対照的に、 thread_localオブジェクトは可変であり、スレッドごとに1回初期化され、アクセスは間接的です(ラッパータイプLocalKey<T>

グローバル 関連する例