Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
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++ - Ответ 2887588

08.04.2012, 17:07. Показов 1448. Ответов 3
Метки (Все метки)

Ответ

glukobug, ошибка есть в любом случае. Если класс реализует захват ресурсов, он должен предоставлять самописный оператор присваивания и конструктор копии. У вас деструктор вызывается три раза (а дебагу как раз и надо верить, там не производятся такие жёсткие оптимизации, как в релизе), потому что при возврате по значению из оператора + происходит копирование, а поскольку у вас нет конструктора копии (который реализовывал бы верное копирование захваченных ресурсов), то при копировании копируется указатель. При удалении копии выделенная память удаляется, а при удалении оригинала происходит попытка удалить уже удалённую память. По ссылке выше код не падает, потому что компилятор там реализует стандарт C++0x, который разрешает при возврате по значению вызывать не конструктор копии, а перемещающий конструктор (который предоставляется по умолчанию), а ему как раз и требуется перемещать ресурсы из удаляемого объекта в создаваемый (что в вашем случае совпадает с копированием указателя), отсюда программа и не падает.

Вернуться к обсуждению:
Конструкторы и деструкторы C++
2
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2012, 17:07
Готовые ответы и решения:

Конструкторы и деструкторы
Код: #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; class complex { private:...

Конструкторы и деструкторы
Необходимо реализовать класс с двумя полями, имеющими имена first и second. Обязательно должны...

Конструкторы и деструкторы
Не понимаю, как закончить программу. Написала конструктор и деструктор, хотя он тут и не нужен по...

Конструкторы и деструкторы
Создать класс LongLong для работы с целыми числами из 64 бит. Число должно быть представлено двумя...

3
08.04.2012, 17:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2012, 17:07
Помогаю со студенческими работами здесь

Конструкторы и деструкторы
Помогите исправить программу. Необходимо реализовать класс с двумя полями, имеющими имена first...

Конструкторы и деструкторы
Здравствуйте уважаемые программисты, помогите пожалуйста новичку? Не могу разобраться в программе,...

Конструкторы и деструкторы
Здравствуйте!Помогите пожалуйста с решением данной задачи, Буду премного благодарен за оказанную...

Конструкторы и деструкторы
Вопрос по loc2 = copy(loc); (строка 39) 1) вызывается копирующий конструктор X a = loc 2) вот тут...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru