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

Возращение результата функции в виде указателя на объект - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ double a=1/2; cout<<a;(a=0) что не так? http://www.cyberforum.ru/cpp-beginners/thread168440.html
#include <iostream> using namespace std; void main() { double a=1/2; cout<<a; } выводит a=0; использую 2008 студию. почему округляет до целого? Как исправить?
C++ Ошибка при выводе строки Подскажите в чем дело?? #include <iostream> #include <conio.h> #include <string.h> using namespace std; class BinarySearchTree { private: http://www.cyberforum.ru/cpp-beginners/thread168435.html
Потоки C++
Здравствуйте, помогите пожалуйста преподаватель сказал нужно добавить код в третьем потоке(thread3), чтобы событие не происходила пока не заполнится массив. Задача: Один поток готовит матрицу в памяти M = 1000х1000 байт со случайными числами от 0 до 255. Другой поток в это время принимает с клавиатуры два числа X, Y, а третий поток – готовит на экране окно для вывода результатов расчетов. Как...
C++ сумма первыйх членов ряда
Написать программу, которая вычисляет сумму первых п членов ряда: 1, 3, 5, 7 ... Количество суммируемых членов ряда задается во время работы программы. Ниже приведен рекомендуемый вид экрана во время работы программы. Пусть выводит ответ так : Вычисление частичной суммы ряда: 1,3,5,7 ... Введите количество суммируемых членов ряда -> 15 Сумма первых 15 членов ряда равна 330
C++ if не правильно ратотает http://www.cyberforum.ru/cpp-beginners/thread168390.html
Такая проблема в структуре есть поле type типа char мне нужно его сравниь c переменной типа char и если они совпали вывисти на экран остальные значения не могу понять почему не правильно сравнивает. подскажите как это сделать:) #include <iostream> #include <clocale> #include <conio.h> using namespace std;
C++ Программа "задумывает" число и предлагает пользователю его угадать Написать программу, которая "задумывает" число в диапазоне от 1 до 10 и предлагает пользователю угадать число за 5 по- пыток. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом). Игра "Угадай число". Компьютер "задумал" число от 1 до 10. Угадайте его за 5 попыток. подробнее

Показать сообщение отдельно
blackfxx
Сообщений: n/a

Возращение результата функции в виде указателя на объект - C++

23.09.2010, 11:09. Просмотров 700. Ответов 2
Метки (Все метки)

есть функция
C++
1
2
3
4
5
6
My_Class* preprocessing(const My_Class* obj)
{
My_Class* Result = new My_Class();
...
return Result;
}
внутри неё создается указатель на локальный объект, проводятся действия и он возращается как результат функции. Читал в статье то, что так делать нежелательно.

вот пример статьи
C++
1
2
3
4
5
6
7
8
Complex&
Complex::Add(const Complex& x)
{
  Complex result;
  result.real = real + x.real;
  result.imaginary = imaginary + x.imaginary;
  return result;
}
При выходе из метода автоматическая переменная result уничтожается, и память, выделенная для нее, освобождается. Поэтому результат Add – ссылка на несуществующую память. Результат подобных действий непредсказуем. Иногда программа будет работать как ни в чем не бывало, иногда может произойти сбой, иногда результат будет испорчен.
подходит ли это к моему случаю, и если да то что тогда делать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru