Finch, если так подходить, можно и на стеке объявить: 256 байт - пустяк. Вот только если строка будет длиннее 256 - диапазон возможного поведения будет от немного испорченной памяти до ошибки сегментации
Кроме того, по-моему, будет, всё-таки,
cin.get(ou, lenghtOU);
- тогда всё ок с памятью.
Maray, первым делом, стоит для себя разобраться, что за тип такой char* - всё равно в C++ общение с указателями практически неизбежно.
Далее, как указал Finch, лучше не смешивать два подхода - STL (частью которого являются потоки ввода-вывода, с которыми ты пытаешься работать) и работу с "сырыми" строками, более подходящую при работе с C Runtime Library. Это два сильно разных мира, и лучше бы не смешивать их без необходимости.
Есть специальная функция
getline, которая читает из потока в переменную типа std::string.