C ++: назначить cin переменной ifstream?

Вы знаете общую идиомуstdin определяется именем файла "-", например,

if ((strcmp(fname, "-"))
    fp = fopen(fname);
else
    fp = stdin;

Какой лучший способ сделать это сifstream пример? Я получил немного кода, который имеетifstream как часть класса, и я хотел бы добавить код, чтобы сделать эквивалент, что-то вроде:

if ( filename == "-")
    logstream = cin;  // **how do I do this*?*
else
    logstream.open( filename.c_str() );

Ответы на вопрос(2)

Ваш ответ на вопрос