|
|
Другие темы раздела | |
C++ Функция round(), округление числа до 4-х знаков после запятой Вот наткнулся на проблемку как округлить число до 4 знаков после запятой? Подскажите что делать? https://www.cyberforum.ru/ cpp-beginners/ thread542466.html |
C++ Составить программу, которая позволяет ввести с клавиатуры шестнадцатеричное число и записать его в переменную a, выполнить требуемую проверку. Составить программу, которая позволяет ввести с клавиатуры шестнадцатеричное число и записать его в переменную a типа unsigned. Выполнить необходимые проверки для данного числа: Проверить, установлен ли 11 или 15 бит в “1”. Включить 1, 3, 5, 6, 8, 10, 11, 12 и 13 биты, не изменяя остальных, записав результат в переменную b. Помогите пожалуйста разобраться с этими масками. |
C++ Очень стремная задача На плоскости задано N точек, которые пронумерованы слева на право (а при равных абсциссах снизу вверх). Нужно создать программу, которая строит многоугольник, который является выпуклой их оболочкой, не более чем за C*N действий. https://www.cyberforum.ru/ cpp-beginners/ thread542458.html |
C++ Прибавить к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй
https://www.cyberforum.ru/ cpp-beginners/ thread542451.html Привет ВСЕМ!!! Помогите пожалуйста с одной задачкой!!!) Пусть даны две вещественные матрицы порядка N. Получить новую матрицу следующим способом: прибавлением к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй матрицы. Заранее ВСЕМ благодарен!!! |
C++ Не передается массив в функцию Всем привет,не могу передать массив в функцию,после передачи массив получается пустой ILuaObject *args; args =(ILuaObject *)g_Lua->GetReference(1); args =(ILuaObject *)g_Lua->GetString(2); g_Lua->Msg("argsize:"); g_Lua->Msg(itos(sizeof(args) / sizeof(args))); g_Lua->Msg("\n"); InvokeMetaFunc("Player","Kick",sizeof(args) / sizeof(args),false,args); |
C++ Ошибка при вызове деструктора Программа компилиться нормально,но после выполнения system("pause"); выползает непонятное окно,и указывает на ошибку в деструкторе.В чем может быть проблема? Заранее спасибо. #include <iostream.h> /////////////////////////////////////////////////////////// class Array //моделирует обычный массив C++ { private: int* ptr; //указатель на содержимое... https://www.cyberforum.ru/ cpp-beginners/ thread542414.html |
C++ Как создать массив массивов
https://www.cyberforum.ru/ cpp-beginners/ thread542393.html Привет всем!!!! У меня вопрос такой: можно ли в Си++ задать массив, например, 3на5, в котором элементами будут также массивы 5на5? и если можно, то как? |
Дано строка состоящая из нескольких слов, разделенных пробелом. Определить какое из них содержит наименьшее количество символов. C++ Требуется помощь, пожалуйста. |
C++ Построение реберного покрытия графа
https://www.cyberforum.ru/ cpp-beginners/ thread542383.html Нужно написать программу на построение реберного покрытия графа на языке C++. Как это осуществить? Помогите, пожалуйста, хоть как-то, напишите хотя-бы алгоритм... |
C++ Нарисовать круг C++ (для чайников) Добрый день! Я, вообще, новичок в программировании, в том числе и на C ++. Я использую CodeBlocks+MinGW. Мне нужно нарисовать круг.... В графике ничего не понимаю(( Какой для этого нужно использовать проект? Какую книжку прочитать, чтоб хоть малость разобраться?) Заранее спасибо) https://www.cyberforum.ru/ cpp-beginners/ thread542358.html |
C++ Создайте командный файл, рассчитывающий дату на день раньше текущей Создайте командный файл, рассчитывающий дату на день раньше текущей echo off set day=%date:~0,2% if %day% GTR 2 ( SET /a day=%day%-1 ) echo "B4epa 6blJlo : %day% %date:~3,2% %date:~8,2%" pause |
C++ Преобразование символа в ASCII код как это реализовать ? Добавлено через 4 минуты все, уже разобрался вот ... int1=int(ch); ... https://www.cyberforum.ru/ cpp-beginners/ thread542354.html |
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
08.04.2012, 17:07 | 0 |
Конструкторы и деструкторы - C++ - Ответ 288758808.04.2012, 17:07. Показов 1448. Ответов 3
Метки (Все метки)
Ответ
glukobug, ошибка есть в любом случае. Если класс реализует захват ресурсов, он должен предоставлять самописный оператор присваивания и конструктор копии. У вас деструктор вызывается три раза (а дебагу как раз и надо верить, там не производятся такие жёсткие оптимизации, как в релизе), потому что при возврате по значению из оператора + происходит копирование, а поскольку у вас нет конструктора копии (который реализовывал бы верное копирование захваченных ресурсов), то при копировании копируется указатель. При удалении копии выделенная память удаляется, а при удалении оригинала происходит попытка удалить уже удалённую память. По ссылке выше код не падает, потому что компилятор там реализует стандарт C++0x, который разрешает при возврате по значению вызывать не конструктор копии, а перемещающий конструктор (который предоставляется по умолчанию), а ему как раз и требуется перемещать ресурсы из удаляемого объекта в создаваемый (что в вашем случае совпадает с копированием указателя), отсюда программа и не падает.
Вернуться к обсуждению: Конструкторы и деструкторы C++
2
|
08.04.2012, 17:07 | |
Готовые ответы и решения:
3
Конструкторы и деструкторы Конструкторы и деструкторы Конструкторы и деструкторы Конструкторы и деструкторы |
08.04.2012, 17:07 | |
08.04.2012, 17:07 | |
Помогаю со студенческими работами здесь
0
Конструкторы и деструкторы Конструкторы и деструкторы Конструкторы и деструкторы Конструкторы и деструкторы |