<cctype>
または<locale>
に存在するバージョンのいずれかではなく、tolower
の「グローバル名前空間」バージョンを使用しているため、このコードは正常にコンパイルされ、です。実際にはわかりません。ここで、/ toはどのように定義されていますか?
#include <string>
#include <algorithm>
int main() {
std::string x = "FOO";
std::transform(x.begin(), x.end(), x.begin(), tolower);
}
私の質問:
1)/どのようにこのtolower
が正確に確立されていますか?
2)「グローバル名前空間」のすべての関数のリストに誰かを案内できますか?
私は実際に答えを求めてかなりの時間を費やしました。これが明らかな知識であれば謝罪し、私はそれを逃した。
http://en.cppreference.com/w/c/string/byte/tolower –
おそらく間接的に他のヘッダーの1つを介して(インプリメンテーション定義の方法で)取り込まれています。 –