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.函数类型是合法的,但其定义的对象无法初始化和赋值,只能用于声明函数指针或函数引用类型。

      

      

  • 相关阅读:
    python出现local variable 'f' referenced before assiginment""
    使用Python修改ifcfg-eth0文件
    在linux中运行py文件时,及时知道错误信息
    分词结果准确率、召回率计算-python
    oozie工作流
    combiner hadoop
    Python常用模块--base64
    Python常用模块--datetime
    树莓派(Raspbian系统)中使用pyinstaller封装Python代码为可执行程序
    LeetCode刷题笔记--Python--28. 实现strStr()
  • 原文地址:https://www.cnblogs.com/vsuu/p/4156470.html
Copyright © 2011-2022 走看看