と、言ってもプログラムの書き方はほとんど同じです。
.netで#include <iostream.h>とすると
warning C4995: '_OLD_IOSTREAMS_ARE_DEPRECATED': 名前が避けられた #pragma として記述されています。というワーニングが出たと思います。 このワーニングを避けるには
#pragma warning(disable : 4995)をプログラムの最初の方に書いておきます。これでワーニングが出なくなりますが 将来サポートされないプログラムでは不安ですね。
そこで、標準ライブラリでは次のような書き方をします。
#include <iostream>「.h」がとれただけじゃないか!! と思われるかもしれませんが、これでプログラムを書くと・・・
// 間違ったプログラム #include <iostream> int main() { cout << "test" << endl; return 0; }エラーが山のように出てきます。これは、次のように修正する必要があります。
//正しいが面倒くさい #include <iostream> int main() { std::cout << "test" << std::endl; return 0; }これで、エラーもワーニングもなくなったと思いますが、面倒くさいですね。
// newcpp.cpp #include <iostream> using namespace std; int main() { cout << "test" << endl; return 0; }これで、本文の方は今まで通りとなります。
さて、古いバージョンのものも使う必要があり、両方を使い分けたい というような場合は、次のような書き方も可能でしょうか。
// newcpp.cpp //#define MYOLD #ifndef MYOLD #include <iostream> using namespace std; #endif #ifdef MYOLD #include <iostream.h> #pragma warning(disable : 4995) #endif int main() { cout << "test" << endl; return 0; }古いライブラリを使用したいときは#define MYOLDのコメントアウトをはずします。
ま、いろいろな方法が考えられますね。
Update Jun/25/2002 By Y.Kumei