Re all; 1. Если есть char * func () {buf char[30]; .... return buf;}; то получается что возращается мусор. Потому что buf локальная переменная, и память выделенная под нее освобождается по выходу из ф-ции. Так? 2. Если string func() { string s("fdksfksfd"); return s;}; то возвратиться fdksfksfd и все будет ок. Потому что запуститься конструктор копирования и и объект s будет скопирован в объект которому мы делаем присваивание значения функци.Правильно? 3. Если int func () { int fd = 4; return int ;}; а тут как все впорядке? 4.А если int func () { int fd=4;int lf=3; return fd+lf;}; а тут что происходит?
Думаю начинающим программистам этот тред будет полезен . Великие гуру пожалуста расскажите по пунктам 1-4 и если есть какие нить еще грабли или хитрости напишите пожалуйста.