Skip to content

Latest commit

 

History

History
33 lines (23 loc) · 1.16 KB

函数返回数组指针类型.md

File metadata and controls

33 lines (23 loc) · 1.16 KB

函数返回数组指针类型

  • 数组指针

    int arr[10];        //arr是一个含有10个整数的数组
    int *p1[10];        //p1是一个含有10个指针的数组
    int (*p1)[10];      //*p1是一个含有10个整数的数组,p1是指向该数组的指针
    

    以此类推,如果函数func的返回值是一个指针p,p指向的是一个含有10个整数的数组,则func的声明如下:

    int ( *func(int i) )[10];
    
  • 类型别名

    typedef int arrT[10];   //arrT是类型别名,它表示的类型是含有10个整数的数组
    using arrT = int[10];   //arrT的等价声明,C++11新用法
    arrT* func(int i);      //func返回一个指向含有10个整数的数组的指针
    
  • C++11尾置返回类型

    auto func(int i) -> int(*)[10]; //func接受一个int类型的实参,返回一个指针,该指针指向含有10个整数的数组
    

    将函数的返回类型放在形参列表之后,并在本该出现返回类型的地方放置一个auto

    关于C++11尾置返回类型的更多信息参考 C++11/尾置返回类型