Что будет, когда выполнится вот такой код? `string& foo() { return "Hello World"; } cout << foo() << endl;` Плюс ещё несколько вариантов: 1. Почему код `const string& foo1() { return "Hello World"; }` выдаёт warning и может привести к segmentation fault? 2. Как себя ведёт код `char* foo1() { return "Hello World"; }` и почему в этом случае опасно модифицировать string literal? — ДейлиПреп