zoukankan      html  css  js  c++  java
  • C++数组类型与函数类型

      之所以将C++的数组类型与函数类型拿到一块说,是因为两者在很多地方都一样。

      首先,声明形式上类似:

      数组类型:  type [num]                                          数组:type name[num]

      函数类型:  return_type (形参列表)            函数:return_type name(形参列表)

      

      数组指针类型: type (*)[num]            数组指针:type (*name)[num]

      函数指针类型: return_type (*) (形参列表)      函数指针:return_type (*name)(形参列表)

      

      数组引用类型: type(&)[num]            数组引用:type(&name)[num]

      函数引用类型: return_type (&)(形参列表)      函数引用: return_type(&name)(形参列表)

      

      函数返回数组指针:type name(形参列表) [num]

      函数返回函数指针:return_type (*name(形参形表)) (返回函数的形参列表))

      

      数组、函数共同点:

      1.数组、函数都不可拷贝。

      2.因为第1点,数组、函数不可以做函数的返回值,但函数可以返回数组、函数的指针或引用。

      3.数组、函数可用于函数形参,但因为第1点,编译器会对其做处理。

        如果形参类型为数组,实际形参类型会转换成元素类型的指针,例如void fun(int arr[5])等价于 void fun(int  arr*)。

        如果形参类型为函数,实际形参类型会转换成对应的函数指针类型,例如 void fun (int test()) 等价于 void fun( int (*test)())。

      

      备注:1.数组指针类型是合法的,但无法获取数组的指针,所以无实际用途。

         2.函数类型是合法的,但其定义的对象无法初始化和赋值,只能用于声明函数指针或函数引用类型。

      

      

  • 相关阅读:
    MySQL之存储引擎
    MySQL之触发器
    MySQL之存储过程
    MySQL之自定义函数
    MySQL之视图
    三种方式安装mariadb-10.3.18
    Linux创建智能DNS
    CentOS 7 搭建Cobbler实现自动化安装系统
    搭建PXE实现自动化安装系统
    编译安装dropbear
  • 原文地址:https://www.cnblogs.com/vsuu/p/4156470.html
Copyright © 2011-2022 走看看