テンプレートを使用するコードがいくつかあるので、float、real、double を切り替えて、計算の精度やメモリを節約できます。ここで、ユーザーが実行ごとに精度を選択できるようにしたいのですが、どうすればよいかわかりません。
私のmain.cppで言ってみましょう
// main.cpp
Object<double> obj;
obj.doSomething();
使用されるタイプを「設定」する方法はありますか? 次のようなものですか?
//main.cpp
std::cout << "Choose Precision ": << std::endl;
std::cin >> PRECISION; // eg float or double
? fix precision and use generic code below with it ?
Object<PRECISION> obj;
obj.doSomething();
アップデート
実行時にできないことは明らかです。ありがとう。
異なる精度でコードをコンパイルするために編集する行が 1 行だけになるように、メインで一般的なテンプレート化されたコードを引き続き使用できますか?
Kevin Cadieux が回答した更新:typedef double MyPrecision;