char * const * (*a) (int b)
char * const * (*a) (int b), 按照c++ program language的读法,从右往左读,* 读作pointer to
把(*a) (int b看作整体,
(*a) (int b) is a pointer to a const pointer to char ,
而a指向的是一个函数,即函数指针
这样就好理解了,
a是一个函数指针,指向这样的一个函数:
参数是int, 返回类型是一个指向const指针的指针, 而这个const 指针指向的是char
例如:
char * const * func(int b) { string s = to_string(b); char * str = new char[s.length() + 1]; strcpy_s(str, s.length() + 1,s.c_str()); char * const pChar = str; return &pChar; } char * const * (*a) (int b) = func; char *str = *(a(123)); cout << str << endl; //"123"
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步