Effective C++: 一些位于c++14,但是c++11却没有的.

1,cbegin:

 #include <iostream>
#include <vector>
#include <iterator>
template<typename container>
auto cbegin(const container& c)->decltype(std::begin(c))
{
 return std::begin(c);
}

template<typename T, typename... Ty>
std::unique_ptr<T> make_unique(Ty&&... params)
{
  return std::unique_ptr<T>(new T(std::forward<Ty>(params)...));
 
 }
int main()
{
 std::vector<int> vec({1, 2, 3});
 std::vector<int>::const_iterator c_iter = cbegin(vec);
 
 std::cout<<*c_iter<<std::endl;
 //*c_iter = 100; //error.
 
 return 0;
}

你可能感兴趣的:(Effective C++: 一些位于c++14,但是c++11却没有的.)