「std::unique ptr::operator=」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> 読み方 __TOC__ == 概要 == == unique_ptr_operator_equal.cpp の例 == === ソースコード unique_ptr_operator_equal.cpp ==...」)
(相違点なし)

2013年3月16日 (土) 14:54時点における版


読み方

概要

unique_ptr_operator_equal.cpp の例

ソースコード unique_ptr_operator_equal.cpp

#include <iostream>
#include <exception>
#include <memory>
 
class C {
        public:
                C() { }
                ~C() {
                        std::cout << __PRETTY_FUNCTION__ << std::endl;
                }
                void doit (){
                        std::cout << __PRETTY_FUNCTION__ << std::endl;
                }
};
 
int
main(int argc, char const* argv[])
{
        std::unique_ptr<int> foo(new int(123));
        std::unique_ptr<int> bar;
        bar     = std::move(foo);
 
        std::cout << "foo: " << foo.get() << std::endl;
        std::cout << "bar: " << bar.get() << std::endl;
        return 0;
}

コンパイル

g++ unique_ptr_operator_equal.cpp -o unique_ptr_operator_equal
g++48 -std=c++11 unique_ptr_operator_equal.cpp -o unique_ptr_operator_equal

実行例

% ./unique_ptr_operator_equal
foo: 0
bar: 0x28404088

関連項目