タグ

copyに関するUSAGI-WRPのブックマーク (2)

  • atomic変数間のatomicなコピー - yohhoyの日記

    プログラミング言語C/C++が提供するatomic変数*1とそのコピー操作に関するメモ。 2個のatomic変数間における “atomicなコピー操作” は提供されない。通常は “atomic変数からの読込(load)”+“atomic変数への格納(store)” で代用すればよい。ただし、下記コードのような2つのコピー操作が並行実行された場合、load/store操作のインターリーブが起こりうることに留意。*2 // C++11 #include <atomic> using namespace std; // C11 #include <stdatomic.h> atomic_int x = ATOMIC_VAR_INIT(0); // x = 0 atomic_int y = ATOMIC_VAR_INIT(1); // y = 1 void thread1() { atomic_s

    atomic変数間のatomicなコピー - yohhoyの日記
  • どれがコピー/ムーブコンストラクタ? - yohhoyの日記

    C++11言語仕様において、どのようなコンストラクタが “コピーコンストラクタ”/“ムーブコンストラクタ” とみなされるのかについてメモ。 コピーコンストラクタ 第1引数にX&, const X&, volatile X&, const volatile X&のいずれかをとる非テンプレートなコンストラクタ。第2引数以降が存在する場合はそれらにデフォルト引数指定がなされていること。一般的にはX::X(const X&&)とする*1。 ムーブコンストラクタ 第1引数にX&&, const X&&, volatile X&&, const volatile X&&のいずれかをとる非テンプレートなコンストラクタ。第2引数以降が存在する場合はそれらにデフォルト引数指定がなされていること。一般的にはX::X(X&&)とする*2。 N3337 12.8/p2-4より引用。 2 A non-templat

    どれがコピー/ムーブコンストラクタ? - yohhoyの日記
  • 1