Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2014-03-07_c++11 / c++11

.pdf
Скачиваний:
34
Добавлен:
27.03.2015
Размер:
246.18 Кб
Скачать

//static_assert

//проверяет утверждение во время компиляции.

//Если утверждение — истина,

//то ничего не происходит.

//Иначе, компилятор выводит

//указанное сообщение об ошибке.

template <typename T, size_t Size> class Vector

{

static_assert(Size > 3, "Size is too small"); T _points[Size];

};

11

// type &&

template<class T> class vector {

//Конструктор копирования (медленный) vector(const vector &);

//Конструктор переноса из временного объекта (быстрый) vector(vector &&);

//Обычное присваивание (медленное)

vector & operator = (const vector &); // Перенос временного объекта (быстрый) vector & operator = (vector &&);

};

12

//constexpr

//Было:

int GiveFive() { return 5; }

int array[GiveFive() + 7]; // не ok

// Стало:

constexpr int GiveFour() { return 4; }

int array11[GiveFour() + 7]; // ok (gcc, clang)

13

//поддержка

//компиляторами

http://www.geeks3d.com/20130314/c11-compiler- support-vs2012-vs-gcc-vs-clang/

http://wiki.apache.org/stdcxx/C%2B%2B0xCompil erSupport

14

// ссылки

/*

Десять возможностей C++11, которые должен использовать каждый C++ разработчик

http://habrahabr.ru/post/182920/

https://en.wikipedia.org/wiki/C++11

https://ru.wikipedia.org/wiki/C++11

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

*/

15

// ещё ссылки

/*

Что нового в работе с исключениями в C++11 http://habrahabr.ru/post/160955/

Пользовательские литералы в C++11 http://habrahabr.ru/post/140357/ */

16

Соседние файлы в папке 2014-03-07_c++11