は、私は私のカスタム文字列クラスがあるとします。選択した文字列のテンプレート*
class my_string : public std::string
{
// ...
}
そして、私は、デフォルトでは、両方のmy_string
で受け入れテンプレート機能作りたい:
template <typename TString = my_string>
TString do_something(const TString& input)
{
// ...
}
をしかし、私がそれを呼び出すときに:。 do_something<my_string>
を明示的に指定することなく(つまりdo_something("abcdef")
ではなくdo_something<my_string>("abcdef")
)指定しないで強制的に呼び出す方法
注:単なる例ですが、std :: string! –
私は 'const char []'のオーバーロードを追加して、呼び出す関数に転送します。 – NathanOliver
リテラル文字列接尾辞は、代わりに '' abcdef 's''と '' operator "" _my_s'' "" abcdef "_my_s'を助けるかもしれません。 – Jarod42