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

Использование placement-new в перегруженном операторе присваивания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Visual C++ Нужно переделать програму с С++ Builder XE4 в С++ visual http://www.cyberforum.ru/cpp/thread1456966.html
include <StrUtils.hpp> void __fastcall TForm1::Button1Click(TObject *Sender) { String s = ""; TStringDynArray arr(SplitString(Edit1->Text, " ")); for(int i = 0; i < arr.Length; i++) { s += String().sprintf(L"(%s) - длина: %d\n", arr, arr.Length()); }
C++ Помогите понять условие задачи: "Ввести текст с разделителями и отредактировать его" Всем доброго времени суток! Может конечно не в ту тему пишу, но всё же думаю вы мне поможете. Прислали задачку из книжки, попросили помочь. Сама задача: Ввести текст с клавиатуры, число строк которого заранее неизвестно, а также массив разделителей. Ввод текста прекращается, если введена строка, не содержащая ни одного символа из указанного пользователем набора. Переставить местами строки, в... http://www.cyberforum.ru/cpp/thread1456929.html
помагите ришить с++ задачи C++
1. Написать программу, которая удаляет из введенной с клавиатуры строки начальные пробелы. 2. Ввести фамилию, имя и отчество одной строкой. Определить длину каждого слова. Вывести фамилию в обратном порядке.
Ошибки SFML: unresolved external symbol SFML
Пишу курсовую работу типа платформер. Вроде ровно подключил sfml, но тем не менее вижу вот такие ошибки В чем может быть причина их возникновения?
C++ Нахождение несобственного интеграла http://www.cyberforum.ru/cpp/thread1456361.html
Стоит задача написать программу для нахождения несобственного интеграла. По сути поискав, я пришёл к выводу, что всё что требуется это написать эту формулу на языке с++ Может кто помочь с бесконечностью, не совсем понятно как её использовать. Либо может кто сможет перевести эту формулу. Заранее благодарен за помощь
C++ Из Паскаля в С++ 2: begin if (d=28) then begin m:=3; d:=1; end else if d<28 then inc(d); end; 4, 6, 9, 11: подробнее

Показать сообщение отдельно
DrOffset
6840 / 4051 / 924
Регистрация: 30.01.2014
Сообщений: 6,855
25.05.2015, 00:31     Использование placement-new в перегруженном операторе присваивания
Цитата Сообщение от FraidZZ Посмотреть сообщение
В данном случае проблема вызова двух деструкторов не критична, учитывая, что каждый, по сути, вызывается для отдельного экземпляра объекта (хоть и расположены они по одному адресу)
Еще как критична.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
T a(10, 20);
T b(10, 30);
 
a = b; // здесь исключение
 
/*
T& operator = (const T& ref) {
    if (this != &ref){
        this->~T(); // это отработало, память освобождена
        new(this) T(ref); // throw ....
    }
    return *this;
}
*/
// Далее, при выходе из области видимости, где объявлены объекты a и b, их деструкторы будут вызваны, 
// получим повторный вызов delete для одного и того же куска памяти в объекте a, как следствие порчу кучи и креш.
// UB же.
 
Текущее время: 01:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru