C++11笔记1

目录:

1.std::share_ptr智能指针:

2.std::tr1::function模板类:

3.stringstream:

4.set/vector/map:

5.static_cast<class > (expression);

std::share_ptr智能指针:

http://en.cppreference.com/w/cpp/memory/shared_ptr

 

C++11笔记1_第1张图片

智能指针shared_ptr<_class>,在<memory>中定义。

表示_class类型的指针,通过引用计数的方式避免指针错误;

std::unique_ptr

C++11笔记1_第2张图片

 

std::tr1::function模板类:

 

#include <tr1/functional>

typedef std::tr1::function<void (int)> HandlerEvent;

C++TR1(Technology Report)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能

 

C++11笔记1_第3张图片

 

C++11笔记1_第4张图片

 

function<void()> f(_f);//???

在类的内部叫上Internal(private);

vector<char> *data

 

-----function::member-----

C++11笔记1_第5张图片

stringstream:

#include <sstream>

C++11笔记1_第6张图片

 

C++引入了ostringstreamistringstreamstringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。

 

set/vector/map:

 

#include <set>

#include <map>

#include <vector>

set::insert(object);

 

std::vector

Defined in header <vector>

template<

    class T,

    class Allocator = std::allocator<T>

> class vector;

std::vector is a sequence container that encapsulates dynamic size arrays.

The elements are stored contiguously, which means that elements can be accessed not only through iterators, but also using offsets on regular pointers to elements. This means that a pointer to an element of a vector may be passed to any function that expects a pointer to an element of an array.

 

map是关联式容器;

 

static_cast<class > (expression):

 

meaning:

return EventManager*'s object equal arg;

 

static_cast<new_type> (expression);

 

 

#include <algrithm>

C++11笔记1_第7张图片

pop *_Frist to *(_Last-1) and reheap,using _Pred;

 

shared_from_this();

  

std::enable_shared_from_this::shared_from_this;

 

shared_ptr<T> shared_from_this();

(1)

shared_ptr<T const> shared_from_this() const;

(2)

Returns a std::shared_ptr<T> that shares ownership of *this with all existing std::shared_ptr that refer to *this.

 

你可能感兴趣的:(C++11笔记1)