The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Разработчики Debian намерены создать команду для портировани..., opennews (?), 17-Апр-15, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


43. "Разработчики Debian намерены создать команду для портировани..."  +1 +/
Сообщение от Аноним (-), 18-Апр-15, 14:48 
У C++ обратная совместимость, т.ч. это не имеет абсолютно никакого значения
Ответить | Правка | Наверх | Cообщить модератору

55. "Разработчики Debian намерены создать команду для портировани..."  +/
Сообщение от Мяут (ok), 18-Апр-15, 15:57 
Обратная совместимость означает лишь, что вы соберете свой старый код не встречая серьезных проблем. Но вот с написанием нового возникает загвоздка - либо его делать с использованием C++98, либо мешать старый код с C++11.

Вот еще:

  // C++98
  vector<LargeObject> v;
  v.push_back(LargeObject(10));          // колирование, упс

  vector<LargeObject*> v2;
  v2.push_back(new LargeObject(10));     // ОК

  // C++11
  vector<LargeObject> v3;
  v3.emplace_back(10);                   // ОК

  vector<unique_ptr<LargeObject>> v3;
  v3.emplace_back(new LargeObject(10));  // NOOOO!

Такое многообразие, как вы понимаете на качестве выходного кода не очень-то хорошо сказывается. Но да, обратная совместимость.

  

Ответить | Правка | Наверх | Cообщить модератору

74. "Разработчики Debian намерены создать команду для портировани..."  –3 +/
Сообщение от Аноним (-), 18-Апр-15, 21:42 
Не говорите ерунды, в c++ нет такой проблемы, проблема в вашей голове.
Вот так вот:
v3.emplace_back(new LargeObject(10));  // NOOOO!
считается писать, как минимум дурным тоном. Оператор new имеет смысл использовать в крайне редких, исключительных ситуациях. Современный c++ позволяет вовсе обходиться без него. А если Вы употребляете его вот так вот в контейнере, то, как минимум, Вы некомпетентны в вопросе и спорить с Вами не о чем.
Ответить | Правка | Наверх | Cообщить модератору

121. "Разработчики Debian намерены создать команду для портировани..."  +/
Сообщение от Мяут (ok), 20-Апр-15, 10:06 
> считается писать, как минимум дурным тоном.

Ну вот и в Питоне 2 накопилось очень много потенциального "плохого тона". И дабы не провоцировать разработчиков, сомнительные возможности выбросили из языка, пожертвовав обратной совместимостью.

> А если Вы употребляете его вот так вот в контейнере, то, как минимум, Вы некомпетентны в вопросе и спорить с Вами не о чем.

Я - нет, но вопрос на StackOverflow где человек рьяно защищал такую постановку задачи попадался. Если аккуратно разложить грабли и наставить табличек "ходить запрещено", кто-нибудь обязательно наступит.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру