char * const * (*a) (int b)

Posted andrewghost

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"

 

以上是关于char * const * (*a) (int b)的主要内容,如果未能解决你的问题,请参考以下文章

const char**与char**类型的区别

c语言中 int,char,real,bool,const分别定义啥类型的数据

int main(int, char const* const*) 格式正确吗?

c语言中 int,char,real,bool,const分别定义啥类型的数据

用常量参数定义 main (const int argc, const char * const argv[])?

在Qt中如何将QString转换为const char*