crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> C++11, принят новый стандарт
Litkevich Yuriy
  опции профиля:
сообщение 18.8.2011, 12:50
Сообщение #11


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Из нововведений:
template<class T> class vector
{
   vector (const vector &);              // Конструктор копирования (медленный)
   vector (vector &&);                   // Конструктор переноса из временного объекта (быстрый)
   vector & operator = (const vector &); // Обычное присваивание (медленное)
   vector & operator = (vector &&);      // Перенос временного объекта (быстрый)
};


Цитата(panter_dsd @ 18.8.2011, 12:06) *
ыла где-то таблица поддержки стандарта компиляторами, но найти не могу.
може эта?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 18.8.2011, 13:03
Сообщение #12


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


Litkevich Yuriy, ага, она самая.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.8.2011, 13:12
Сообщение #13


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Улучшение конструкторов объектов
Цитата
Стандартный C++ не допускает вызова одних конструкторов класса из других конструкторов этого же класса; каждый конструктор должен полностью инициализировать все члены класса либо вызывать для этого методы класса.
Т.е. Мы часто вынуждены были делать вспомогательную функцию init(...)
Новый стандарт позволяет вызывать одни конструкторы класса из других (так называемая делегация). Это позволяет писать конструкторы, использующие поведение других конструкторов без внесения дублирующего кода:
class SomeType  {
    int number;

public:
    SomeType(int new_number) : number(new_number) {}
    SomeType() : SomeType(42) {}
};

НО, Похожего эффекта можно добиться, указав инициализирующее значение 42 для этой переменной прямо при её объявлении:
class SomeType  {
    int number = 42;

public:
    SomeType() {}
    explicit SomeType(int new_number) : number(new_number) {}
};
Любой конструктор класса будет инициализировать number значением 42, если он сам не присваивает ей другое значение.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 18.8.2011, 13:40
Сообщение #14


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


для кроссплатформы акутальны только те стандарты, которые реализованы на всех платформах. а для большинства разработчиков - ещё и только те компиляторы, которые бесплатны. так что можно не особо торопиться :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Влад
  опции профиля:
сообщение 16.9.2011, 9:15
Сообщение #15


Участник
**

Группа: Участник
Сообщений: 146
Регистрация: 20.3.2009
Из: Санкт-Петербург
Пользователь №: 627

Спасибо сказали: 46 раз(а)




Репутация:   8  


Ну вот, свершилось! Новый Стандарт официально опубликован. Кто хочет купить - пожалуйста!

Нет Стандарта, кроме Стандарта, и Комитет - пророк его.

Сообщение отредактировал Влад - 16.9.2011, 9:15
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Goliath
  опции профиля:
сообщение 22.9.2011, 13:02
Сообщение #16


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 20.9.2011
Пользователь №: 2891

Спасибо сказали: 0 раз(а)




Репутация:   0  


Если вам нужно под Windows, то можете поставить вот этот MinGW вот отсюда. Мне его вполне хватило, чтобы посмотреть и опробовать новые фичи стандарта C++11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Влад
  опции профиля:
сообщение 23.4.2013, 13:56
Сообщение #17


Участник
**

Группа: Участник
Сообщений: 146
Регистрация: 20.3.2009
Из: Санкт-Петербург
Пользователь №: 627

Спасибо сказали: 46 раз(а)




Репутация:   8  



http://isocpp.org/blog/2013/04/trip-report...ng-2013-meeting

This afternoon in Bristol, UK, the ISO C++ standards committee adopted generic lambdas, dynamic arrays (an improved version of C99 VLAs), variable templates, reader/writer locks, make_unique, optional<T>, standard library user-defined literals, and a number of other language and library improvements – and approved the result as the feature-complete Committee Draft (CD) of Standard C++14 to be distributed for its primary international review ballot.

In addition to completing the C++14 CD document, the committee also made progress on three additional important parallel specifications that are on track to be published around the same time as C++14:

File system library (draft), based on Boost.FileSystem version 3.
Networking library, small at first and regularly extended.
“Concepts Lite” language extensions (draft), to express template constraints and improve template usability and error messages.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 16.4.2024, 14:24