私は/ UCASE A C++ STLクラスをLCASEするための最良の方法で探していたと私はこの記事に出くわした:指定されたソリューションのC++関数テンプレートの質問
ワンました:
#include <algorithm>
#include <string>
std::string data = “Abc”;
std::transform(data.begin(), data.end(), data.begin(), ::tolower);
しかし、変換は次のようにstl_algo.hで定義されています
template<typename _InputIterator, typename _OutputIterator,
typename _UnaryOperation>
_OutputIterator
transform(_InputIterator __first, _InputIterator __last,
_OutputIterator __result, _UnaryOperation __unary_op)
{
...
それでは、どのCOMテンプレートインスタンス化パラメータを指定せずに呼び出されていますか?私の質問を明確にする
、私は次のように呼ばれるように変換関数を期待していた。
transform(std::string::iterator, std::string::iterator,
/* not sure what to put here for the predicate */);
が、これは1オフ(特殊なケース)です、または私は基本的な何かが足りないのですか?