Я начинаю снова с C++ и думал о сфере видимости переменных. Если у меня есть переменная внутри функции, а затем я возвращаю эту переменную, переменная не будет «мертвой», когда она будет возвращена, потому что область, в которой она была, закончилась?Сфера и возвращаемые значения в C++
Я пробовал это с функцией, возвращающей строку, и она действительно работала. Может ли кто-нибудь объяснить это? Или, по крайней мере, указать мне на какое-то место, которое может объяснить это мне, пожалуйста.
Благодаря
Я на самом деле возвращает строку .. это не совсем массив, но я заявляю это в функции, как так: строка funcnam (Parms ...) { строка тест; <код ... код> return string; } И это нормально – AntonioCS 2008-11-08 21:48:23
Если это фактический строковый объект, он отлично работает, потому что он получает выделение в куче, а не в стеке. В плохом примере выше myString на самом деле не объект, а только стандартный массив символов. Статья CMS Stack and Heap очень хорошая, вы должны дать ей прочитать :) – 2008-11-08 21:52:44