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

Проверить на выход за границы массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка очереди <char> http://www.cyberforum.ru/cpp-beginners/thread856300.html
помогите пож с сортировкой очереди queue очередь состоит из латинсколо алфавита. нужно отсортировать по возростанию и по спаданию .. типо от а до z и от z до а если можно через <algoritm> ну или...
C++ тип time_t Нужно ввести 2 переменные типа time_t с клавиатуры , потом переконвертировать их в строки и записать в файл. В процессе исполнения программы вылетает ошибка: Debug assertion failed. Expression:... http://www.cyberforum.ru/cpp-beginners/thread856297.html
C++ Символьные вычисления
Есть задача создания символьных вычислений с помощью C++. Все подобные приложения написаны на Lisp. Думал разобраться с SymbolicC++3 но документации нет вовсе и вся библиотека не компилируется а...
Матрица: определить количество строк, не содержащих ни одного нулевого элемента C++
для решения задач: 1) определить количество строк, не содержащих ни одного нулевого элемента; 2) найти максимальное из чисел, встречающихся в заданном массиве более одного раза. #include...
C++ Объявление объекта класса из DLL C++ Builder 6 http://www.cyberforum.ru/cpp-beginners/thread856274.html
Добрый день! Пишу программу которая вызывает функции из DLL с явной загрузкой. Полазил по инету, вроде все правильно делаю. Когда объявляю новый объект класса в проекте, компилятор ругается на эти 3...
C++ Моя первая консольная игра :D Всем доброго времени суток! Сегодня я хочу показать вам свою первую игру, правда пока она работает в консоли :( В ней вы можете прыгать и ходить влево, вправо. Но у игры есть один баг: после прыжка... подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1637 / 1009 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
07.05.2013, 19:24
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
специальный хитровыедуманным классом
Что за странная идея?! Чтобы безопасно скопировать массив, достаточно просто перехватывать исключение в операции копирования и удалить уже созданные элементы в обратном порядке:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
size_t i = 0;
try {
    for(; i < size; ++i)
        new(newArray + i) T(srcArray[i]);
} catch (...) {
    for(; i > 0;)
    {
        --i;
        newArray[i].~T();
    }
    deallocate(newArray);
    throw;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru