『C++Primer』6.7関数ポインタ
856 ワード
関数ポインタ関数のタイプは、その戻りタイプとパラメータタイプによって共に決定される. は、ある関数を指すポインタを宣言します. 関数ポインタを使用して、 を使用できます.また、参照ポインタを事前に解く必要がなく、関数を指すポインタを直接使用してこの関数を呼び出すこともできます: 後置関数の戻りタイプを使用して、関数を使用して関数を指すポインタを返します.
bool fuck(string &, string &);
bool (*pf)(string &, string &) = fuck; // pf
pf = lengthCompare;
pf = &lengthCompare; //
bool b1 = pf("fuck", "holy shit");
bool b2 = (*pf)("fuck", "holy shit");
string add(string &s) {...};
string cut(string &s) {...};
auto fuc(string::size_type len) -> string(*)(string &s) {...};
int main() {
string s = " 。";
auto pf = fuc(s.length());
pf(s);
cout << s << endl;
return 0;
}