Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ сортировка не рекурсивный вариант если можно. с++ https://www.cyberforum.ru/ cpp-beginners/ thread623334.html
Сама задача: Получить сумму двух длинных натуральных чисел Каждое число и результат представлены линейными односвязными списками (информационная часть элементов списка-две цифры числа-тип byte) ...
Выделение памяти под wchar_t C++
вот такой код: char *str=new char; strcpy(str,"stroka"); int l=strlen(str); wchar_t *wstr=new wchar_t; mbstowcs(wstr,str,l); В отладчике обнаружил такую запись: wstr 0x004b7438...
C++ Прочитать текст из файла
Прочитать английский текст из файла и выводит только те слова которые начинаются с гласных букв.
C++ Оптимизация кода В С++ я совсем недавно, вот задали задачку: Перемножить 2 матрицы MxМ, элементами которых являются матрицы NxN. Код я вроде написал, но при увеличении размерности M > 75 программа просто перестает... https://www.cyberforum.ru/ cpp-beginners/ thread623311.html
C++ Предлага готовые задачи по ООП https://www.cyberforum.ru/ cpp-beginners/ thread623309.html
Предлагаю решение следующих задач по ООП: 1) Класс Дробное число со знаком (Fractions). Число должно быть представлено двумя полями: целая часть - длинное целое со знаком, дробная часть -...
C++ Размещение переменных в памяти
пользуюсь Dev-C++, стало интересно, как компиляторы размещают даныые: последовательно, или как попало? предположим есть объявление int i; int j; как они будут располагаться в памяти? j сразу же за...
вчем разница между с++ и ++с C++
Не как него могу понять в чем разница между с++ и ++с ? с - счетчик. просто пример: int main() { int c = 0; // счетчик int k; while (cin >> k) { if(k == 1) c++; //++c;
C++ Передать двумерный массив в функцию Доброе утро! Подскажите пожалуйста как можно передать двумерный массив из функции в main(). к примеру функция dataFromFile() в ней создаётся двумерный массив со строками, как передать весь массив в... https://www.cyberforum.ru/ cpp-beginners/ thread623238.html
C++ Как использовать Dev C++? https://www.cyberforum.ru/ cpp-beginners/ thread623182.html
Помогите мне пожалуйста. Пишу программы на Dev C++, ошибок нет, но программа не работает. Даже самые простые программы. например, #include<iostream> int main() { int number1; int number2; ...
C++ Преобразовать параметр из "WCHAR [260]" в "const char *" Подскажите пожалуйста, как " преобразовать параметр из "WCHAR " в "const char *""? Вот,по коду я думаю понятно будет. Если поставить ((соnst char*)win.cFileName) то получу только первую букву... https://www.cyberforum.ru/ cpp-beginners/ thread623176.html
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
0

Почему локальная переменная не уничтожается после выхода из функции

13.07.2012, 15:26. Просмотров 4131. Ответов 21
Метки (Все метки)

В функции создается строка char *pn = new char[ strlen(temp) + 1 ];. Мне непонятно почему при выходе из функции эта строка доступна в main()? Почему эта строка не удаляется после выхода из функции?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char *getName(void)
{
    char temp[80];
    
    cout << "Enter last name: ";
    cin >> temp;
 
    char *pn = new char[ strlen(temp) + 1 ];
    strcpy(pn, temp);
 
    return pn;
}
 
int main()
{
   char *name;
 
   name = getName();
}
Объясните, пожалуйста, что вообще там происходит.

Вернуться к обсуждению:
Почему локальная переменная не уничтожается после выхода из функции
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2012, 15:26
Готовые ответы и решения:

Почему переменная "d" не была удалена из стека после выхода из функции?
Почему переменная &quot;d&quot; не была удалена из стека после выхода из функции? #include&quot;stdafx.h&quot;...

Уничтожается переменная по выходу из функции. так не должно быть
Все доброго времени суток! В процессе отладки программки возник один вопрос... Есть функция:...

Локальная переменная внутри статической функции
Всем доброго дня! Из данного примера выяснилось, что при обьявлении функции func_1()...

Почему выводит ошибку C4700, что локальная переменная неинициализированна, если она инициализированна
Все это более чем странно. #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;time.h&gt; #include...

21
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.