在ANSI C++中,如何將變量名賦給變量名?我想要做的是,如果用戶指定了輸出文件名,我在那裏發送輸出,否則發送到屏幕。因此,像:將變量名賦值給變量名
ofstream outFile;
if (outFileRequested)
outFile.open("foo.txt", ios::out);
else
outFile = cout; // Will not compile because outFile does not have an
// assignment operator
outFile << "whatever" << endl;
我試着這樣做的微距功能,以及:
#define OUTPUT outFileRequested?outFile:cout
OUTPUT << "whatever" << endl;
但是,這給了我一個編譯器錯誤,以及。
我想我可以爲每個輸出使用IF-THEN塊,但是如果可以的話,我想避免這種情況。有任何想法嗎?
這是一個非常優雅的解決方案。謝謝! – user12576 2009-01-09 17:30:38