Перепутал операторы потокового ввода и вывода, извиняюсь.
Не понимаю значение слова "кастуется"
Но если я правильно понял, то первое ваше замечание насчет std::cout было о том, что строка будет выводить без разыменования? Если да, то тогда для каких вообще переменных нужно разыменование при выводе? Я уверен на 100% только в том, что разыменование нужно для одиночной переменной.