Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:yuri_v_katkov:max_std0x

Краткий план обзора стандартов С++ - dumb

стандарт 1998 - стандарт 2003

  • технические правки. непрерывность std::vector
  • smb://192.168.1.19/disk_d/docs/standards/iso14882-C++98.pdf
  • smb://192.168.1.19/disk_d/docs/standards/INCITS+ISO+IEC+14882-2003.pdf

стандарт c++0x

  • изменения в языке (редакция n2369 smb://192.168.1.19/disk_d/docs/standards/c++-drafts/n2369.pdf)
    • лексика:
    • объявления:
      • новый смысл auto (auto i=a.begin();); – 7.1.6.4:2;
      • спецификация выравнивания (T alignas(T) alignas(A) buffer[N];); – 5.3.6, 7.1.7;
      • спецификация базового типа enum (enum E int {…}); scoped-enum (enum class E int {…}); – 7.2;
      • constexpr – константные функции; – 7.1.5;
      • decltype; – 7.1.6.2:4; (пример)
      • alias-declaration (using Int=int;); – 7.1.3:2;
      • rvalue-references; – 8.3.2; (пример)
      • =default в специальных функциях (конструкторы, деструкторы, операторы присваивания) – 8.4:9;
      • =delete для явного запрета ссылки на функцию (вызова, взятия адреса) – 8.4:10;
    • классы:
      • делегирование конструкторов; – 12.6.2:2;
    • шаблоны:
      • угловые скобки интерпретируются по контексту; – 14.2:3; (пример)
      • variadic templates (template<typename T…> class tuple;); – 14.5.3; (пример!)
      • template aliases (template<typename T> using Vec=vector<T, Alloc<T»); – 14.5.7;
      • изменение требований к значениям шаблонных параметров по-умолчанию (пример) – 14.1:9 (в сравн. с 2003), 14.1:11
    • препроцессор:
      • разрядность препроцессорной целочисленной арифметики – intmax_t (было long); – 16.1:4;
      • variadic macros; – 16.3;
      • оператор _Pragma; – 16.9;
  • изменения в библиотеке
    • general utilities:
      • изменился набор requirements – появились новые концепции; – 20.1.1;
      • type traits вошли в стандарт (std::is_…<T>::value); – 20.4;
      • tuples вошли в стандарт (template<class …Type> tuple;) – 20.3;
      • auto_ptr стал unique_ptr; – 20.6.5;
      • smart_pointers вошли в стандарт; – 20.6.6;
    • containers:
      • появился array (template<typename T,size_t N> class array); – 23.2.1;
      • появился bitset (template<size_t N> class bitset); – 23.3.5;
      • появились unordered_[multi]map и set (template<typename Key, T, Hash=hash<Key>, Pred=equal<Key>,Alloc>); – 23.4;
    • numerics library:
      • появились серьезные методы работы с [псевдо]случайными величинами (<random>); – 26.4;
    • regular expressions:
      • вошли в стандарт (<regex>); – 28;

компиляторы с поддержкой 0x

g++4.3

Статус поддержки стандарта: http://gcc.gnu.org/gcc-4.3/cxx0x_status.html

Доступен для всех по имени g++-4.3 на многострадальном 192.168.81.5.
Исходники: ftp://192.168.81.7/distrib/gcc
При компиляции указывайте опцию -std:c++0x
etc/users/yuri_v_katkov/max_std0x.txt · Last modified: 2016/08/08 20:53 by kel