次のシングルトンクラスを持つテンプレートを使用すると、int以外の任意のデータ型でportit関数を使用できるようになりますか?これは非常にばかげた考えですか?のC++シングルトンでテンプレートを使用する
class porter {
public:
static porter& instance() { static porter P; return P; }
template <typename T, size_t N>
void portit(T (&array)[N]) {
std::sort(array, array + N);
}
private:
porter() = default;
~porter() = default;
};
// usage
porter::instance().portit(somearray);
:あなたは、関数テンプレートに
...
template <typename T>
void portit(T theArray[])
{
//sort array someway
}
...
それは依存します。テンプレート化されたタイプごとに1つのシングルトンが必要ですか? – Cameron
シングルトンを使う - >私は同情していません。 – Puppy
@Cameronこの段階では気にしませんが、理想的には同じ関数にさまざまな型の変数を送ることができるオブジェクトが1つあります。 –