Форум программистов, компьютерный форум CyberForum.ru

Перенос кода на C++11 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Завершение потока http://www.cyberforum.ru/cpp-beginners/thread1502324.html
Здравствуйте! Вопрос такой, как сделать так, чтобы поток завершался по условию? Вот например: Основная функция: void main () { //какой то код...... std::thread th_nev (nev);//запускаем поток nev.detach (); //какой то код...... }
C++ Зачем переменные инициализируются нулем? #include <math.h> #include <iostream> using namespace std; int gcf(int a,int b); int main () { int a=0, b=0; while(1){ cout<<"введите число кроме 0\n"; cin>>a; if(a==0) http://www.cyberforum.ru/cpp-beginners/thread1502321.html
C++ Как правильно завершить char array (Null terminated)
В гугле вижу самые разные примеры. char* chs = new char; ... chs = '\0'; // Разве 128 существует ? ... delete chs; пробовал делать так "chs = '\0';" ожидал ошибку, но ошибки не было... И в чем разница "new char" и "(char*)malloc()"?
Регулирование количества символов после запятой fscanf() C++
fscanf() - округляет до 3 знаков после запятой. Как установить максимально возможное количество знаков? и в функции fprintf() - тоже ?? Спасибо!
C++ Граф взаимосвязи классов http://www.cyberforum.ru/cpp-beginners/thread1502296.html
Может ли кто-нибудь подсказать литературу/сайт, где описывается граф классов, формируемый при компиляции. Особенно интересует доступ к нему извне.
C++ Счетчик в генераторе случайных чисел Делал в borland c++ генератор случайных чисел, подскажите как сделать так, чтобы генерируемые числа разбивались допустим в 10 интервалов (0-10, 11-20, ..., 91-100) и он записывал количество чисел в этих интервалах, вот собственно код программы: #include <iostream> #include <cstdlib> #include <ctime> #include <vcl.h> #include <clocale> #include <windows.h> #pragma hdrstop подробнее

Показать сообщение отдельно
DrOffset
6912 / 4105 / 933
Регистрация: 30.01.2014
Сообщений: 6,903
21.07.2015, 10:11     Перенос кода на C++11
Цитата Сообщение от vitkt Посмотреть сообщение
могут ли всплыть какие-нибудь баги?
Могут, в случае, если, например, у вас есть библиотеки на С++, которые вы не можете перекомпилировать для С++11. Тогда при использовании их с проектом на С++11 чисто теоретически могут возникнуть проблемы из-за изменения ABI (например string больше не имеет права использовать COW). Но на практике всего этого может не случиться, т.к. разработчики позаботились об этом и обложили все такие места директивами условной компиляции для совместимости, и, если не компилировать в режиме строгого следования стандарту (но здесь возникает другая опасность, см. ниже), то все должно быть хорошо.
Цитата Сообщение от vitkt Посмотреть сообщение
Существуют ли какие-либо инструкции или проверяющие утилиты по миграции существующего кода на новый стандарт?
Я таких не встречал.

____
Про другую опасность: если мы используем реализацию cow-строки из С++03 в одном месте, и не включали с строгую поддержку С++11 в другом, то ABI не будет нарушено. Но в этом случае нельзя будет пользоваться гарантиями С++11 насчет внутреннего буфера std::string. Если покопаться, то можно найти еще пару-тройку таких несоответствий.

____
У меня тоже на поддержке много больших проектов. Мой совет - для legacy - этот переход того не стоит. Но если быть аккуратными, то ничего страшного не должно случиться. Вопрос только в том, есть ли у вас ресурсы эту аккуратность обеспечивать.

Добавлено через 6 минут
Вот подробнее: https://gcc.gnu.org/onlinedocs/libst..._dual_abi.html
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru