美文网首页
第七章 函数——C++的编程模块

第七章 函数——C++的编程模块

作者: 鬼枭嗜 | 来源:发表于2019-02-12 15:00 被阅读0次

C++同样不能返回数组,但可以返回其他任何类型,虽然不能直接返回数组但是可以将数组作为结构或对象组成部分来返回。

通常函数通过将返回值复制到指定的CPU寄存器或内存单元中来将其返回。

函数原型将返回值类型告诉调用程序,而函数定义命令被调用函数应返回什么类型的数据。

在C++中括号为空与在括号中使用关键字void是等效的——意味着函数没有参数 不指定参数列表时应使用省略号 void sky(...);

仅当有意义时,原型化才会导致类型转换。例如,原型不会将整数转换为结构或指针。

函数参数和按值传递

在函数中修改形参不会影响调用程序中的数据

在C++中 当且仅当用于函数头和函数原型中,int *arr和int arr[]的含义是相同的。它们都意味着arr是一个int 指针。

如下恒等式

arr[i]==*(ar+i);

&arr[i]==ar+i;

传递数组时,函数将使用原来的数组。实际上,这种quiet并不违反C++按值传递的方法,函数仍传递了一个值,这个值被赋给一个新变量,但这个值是一个地址,而不是数组的内容。

不要试图使用方括号表示法来传递数组长度。

!cin 详情可见https://segmentfault.com/q/1010000007577047以及https://blog.csdn.net/maoliran/article/details/51725142

可以使用const保护数组不被改变。

指针和const

int age=39;

const int * pt=&age;

pt指向一个const int ,因此不能使用pt来修改这个值,但是可以通过对age的操作来更改age的数值。

int* const pt=&age;//可改变age 不可改变指向

const float g_earth=90.0;

const float *pt =&g_earth;//可以 但是如果指针没有const 则不被允许。

如果数据类型本身并不是指针,则可以将const数据或非const数据的地址赋给指向const的指针,但只能将非const数据的地址赋给非const指针。

使用二维数组 函数原型为 (*ar)[4] 或 ar[][4];

ar2[r][c]=*(*(ar2+r)+c) 二者相等

递归...

函数指针

1.获取函数的地址

获取函数的地址很简单:只要使用函数名即可。也就是说,think()是一个函数而think是该函数的地址。一定要区分函数地址和函数返回值的区别 think为地址而think()为返回值。

2.声明函数指针

函数的特征标(参数)和返回类型必须和pf相同。如果不相同,编译器将拒绝这种赋值。

同时 (*pt)也就代表了函数头think 同样可以用它来代替函数头 但是C++也允许直接使用pt来代替think

例 double think(int); //think为函数

double (*pt)(int );

pt= think;

在定义复杂的函数指针会很麻烦,这时可以选择使用auto pt =think并初始化;

自动类型推断只能用于单值初始化,而不能用于初始化列表。

(完)

相关文章

  • 第七章 函数——C++的编程模块

    C++同样不能返回数组,但可以返回其他任何类型,虽然不能直接返回数组但是可以将数组作为结构或对象组成部分来返回。 ...

  • 笔记2

    感觉这玩意还挺好用的。 C++ 11.编程模块 getline(cin,list[i]); // 查查相关函数 如...

  • C++plus6th 第7章函数(上)

    第七章 函数(模块) 1. 关于函数返回值 在C++中,函数分为有返回值和无返回值两种。函数可以返回除数组之外的任...

  • Python学习笔记[2]

    要点: 函数式编程:注意不是“函数编程”,多了一个“式” 模块:如何使用模块 面向对象编程:面向对象的概念、属性、...

  • Day-14 - 类和对象(2018-10-17)

    一、面向对象编程 编程思想: 面向过程编程 ---> 算法,逻辑(数学逻辑) 函数式编程 ---> 函数,模块 ...

  • C++拷贝构造函数——难点

    拷贝构造函数 - C++详细 | 编程字典

  • 极客班第一周学习笔记

    初识C++ C++是在C之上基于对象,面向对象的编程语言。c++相比c在编程上更加模块化,具象化。 C++代码规范...

  • Common Lisp:符号计算简单介绍(第七章)

    第七章 函数式编程(Applicative Programming) 7.1 导语 本书设计的三种编程风格是函数式...

  • day14-类和对象

    一、面向对象编程 1.编程思想 面向过程编程 ---> 算法,逻辑(数学逻辑) 函数式编程 ---> 函数,模块...

  • 函数

    js的函数可以大致理解为c/c++/java里面的函数,但要比他们活跃的多,他是我们模块化编程的基础,也是下面js...

网友评论

      本文标题:第七章 函数——C++的编程模块

      本文链接:https://www.haomeiwen.com/subject/litxeqtx.html