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

Правильно возвращать значение из функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу, которая подсчитывает СУММУ ЦИФР натурального числа. организовать повторение всей программы. http://www.cyberforum.ru/cpp-beginners/thread659922.html
Написать программу, которая подсчитывает СУММУ ЦИФР натурального числа. организовать повторение всей программы.
C++ Вывести вспомогательные данные из функции #include "stdafx.h" #include <conio.h> #include <math.h> #include <iostream> #include <locale.h> #include "cmath" using namespace std; const int m=10, n=1000; long int b=1, y; http://www.cyberforum.ru/cpp-beginners/thread659912.html
Найти столбец с минимальным произведением элементов (усложнить) C++
Переделать программу на более полную мне кажеться что код написан простенько Среди столбцов заданной целочисленной матрицы, содержащих только такие элементы, которые по модулю не больше 10, найти столбец с минимальным произведением элементов. #include <stdio.h> #include <limits.h> #define n 3 #define m 3 int main()
C++ Одного ли цвета клетки на шахматной доске?
Даны координаты двух полей шахматной доски (координаты клетки - это 2 числа от 1 до 8: номер столбца и номер строки) Одно ли цвета эти клетки на шахматной доске? Вывести в выходной файл сообщение YES, если они одного цвета, и NO иначе
C++ В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты. http://www.cyberforum.ru/cpp-beginners/thread659905.html
Помогите пожалуйста решить задачу в borland c++ В слове угаданы некоторые буквы, надо рассмотреть все возможные варианты. Для этого пользователь вводит "шаблон" слова, заменяя неизвестные буквы пробелом или знаком подчеркивания; компьютер из файла-словаря выбирает все слова, удовлетворяющие этому шаблону. Добавлено через 2 часа 52 минуты Помогите пожалуйста срочно надо!
C++ Найти корни квадратного уравнения: AX2+BX+C=0 Написать программу для нахождения корней квадратного уравнения: AX2 + BX + C = 0; написал одну программу,но не думаю что она та что нада. думаю там еще что то должно быть связанно с операторамы if else.for.while и switch тк тема именно по ним в етом задании..... прошу написать наглядный пример,кому не трудно. на перед спасиб! Добавлено через 1 час 42 минуты ау люди кто подскажет подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.09.2012, 22:58     Правильно возвращать значение из функции
Цитата Сообщение от m1namoto Посмотреть сообщение
a благополучно возвращается
Возвращается не a, а копия а. Сам объект удаляется.
Перепишите этот код, например, так:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
QString* mk_M(QList<QString> &lst)
{
    QString a;
    for(int i=0; i<lst.count(); i++){
        a = a + lst.at(i);
        if(i!=lst.count()-1)
            a = a + "; ";
}
return &a;
}
И попробуйте вывести содержимое по возвращённому адресу. Больше раза не получится. Там будет мусор. Для ясности:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <cstdlib>
#include <iostream>
using namespace std;
 
int* f()
{
    int a = 5;
    return &a;
}
 
int main()
{
     
    int* b = f();
    cout << *b << endl;
    cout << *b << endl;
    
    system("pause");
    return 0;
}
 
Текущее время: 15:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru