/*
* main.cpp
*
* Created on: 2015年1月2日
* Author: star
*/
//============================================================================
// Name : ff.cpp
// Author : star
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include <memory>
#include <vector>
#include <atomic>
using namespace std;
/*
* 多个对象可以拥用一个资源,我们可以看到在赋值等运算,均会共享资源,这个可能并不是我们想要的,有时我们需要对其有所限制,使其难以更改。
* 对于内置类型,我们可以不定义del,但对于数组,用户必须显示定义其删除方法,或调用 库函数 std::defalut_delete<typenama[]>()
* 还有一个重要的问题,便是shared_ptr并不是线程安全的,故,我们可以通过原子操作,蔌线程锁来解决这个问题,最后给出的可能用到的基本的原子操作
* shared_ptr<T> sp create an empty shared pointer
* shared_ptr<T> sp(ptr) create a shared pointer owing *ptr,using