很多人在学习C++ 的过程中应该会留意到返回值的问题,特别是习惯用:int main()  的猿类同伴们。我们需要在函数结尾写个返回值。

int main(){return 0;
}

接下来就给大家简单介绍一下返回值。

一、返回值类型

C++函数可以返回多种类型,大致可分4种:

1. 返回void(无返回值);

2. 返回对象(内置类型对象和自定义对象);

3. 返回指针(普通指针和函数指针);

4. 返回引用;

1、返回void(无返回值);

初学C++用的就是void,如果没有特殊情况,写函数还是习惯用void。

void fun()
{//默认return;
}

2、返回对象(内置类型对象和自定义对象)

比较常见的就是返回值为int,因为C++中0可以表示假,非零数可以表示真。我比较喜欢通过返回int作为判断语句。用起来比较方便。比如下面的Legal(A)函数返回值为int,全部代码在:【数据结构周周练】003顺序栈与链栈这篇博客。

if (Legal(A))std::cout << "A 序列合法" << std::endl;
elsestd::cout << "A 序列不合法" << std::endl;

也可以返回我们自定义的对象,含义与内置对象一样。

Obj fun()
{Obj obj;....return obj;
}

3、返回指针(普通指针和函数指针)

返回指针主要为返回普通指针和函数指针。

普通指针即函数声明的数据类型是内置对象,如int,char等。返回的类型与函数类型相同,用一个同样返回类型的变量作为返回值。

int * fun(int *p)
{return p;
}

函数指针即定义一个函数,并将其返回值作为指针类型返回。

#include<iostream>
using namespace std;int Max(int i, int j) {return i >= j ? i : j;
}
typedef int(*PFun)(int, int);PFun fun(int a) {cout << a << endl;return Max;
}
int main() {PFun pf;pf = fun(100);int max = pf(5, 8);cout << "max : " << max << endl;
}

4、返回引用

int& fun(int &i)
{return i;
}

二、return 0 与 return 1 与 return -1

1、return 0

第一个含义一般用在主函数结束时,按照程序开发的一般惯例,表示成功完成本函数。

第二个含义表示假,一般用于bool函数返回值。在C++中也可以直接用int,返回值为0时为假。宏定义ERROR 与FLASE一般为0。

2、return 1

与return 0 的第二个含义相对应,表示真,正确。宏定义TRUE,OK一般为1。

3、return -1

与return 0 的第一个含义相对应,表示返回一个代数值,一般用在子函数结尾。按照程序开发的一般惯例,表示该函数失败,在数据结构中,一般指数据溢出,宏定义OVERFLOW 一般为-1。

4、数据结构周周练中的返回值

有很多人跟我说,为什么我的返回值一般都是返回1,因为函数结束时,一般用返回0表示函数无错误。其实函数原本的返回值应该为宏定义的TRUE或者OK,为了简化程序,将重点放在算法本身上,所以很多宏定义都没有使用,如果规范来写,数据结构中的很多类型应该是用typedef重新设置一个新名字,特别是结构体中的数据域。因为代码我最想体现,最希望大家了解到的是算法本身,所以在函数返回值中,返回0代表错误,返回1代表正确,希望大家注意。

C++函数返回值介绍(含return 0 与 return 1 与 return -1介绍)相关推荐

  1. c语言指针,return以及函数返回值

    指针作为c语言的精华所在所以会多学习几天来扎实的掌握 void* 这不叫空指针,这叫无确切类型指针.这个指针指向一块内存,却没有告诉程序该用何种方式来解释这片内存.所以这种类型的指针不能直接进行取内容 ...

  2. linux里返回状态命令行,Shell $?获取函数返回值或者上一个命令的退出状态

    $? 是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值. 所谓退出状态,就是上一个命令执行后的返回结果.退出状态是一个数字,一般情况下,大部分命令执行成功会返回 0,失败返回 1, ...

  3. Powershell函数返回值问题

    Powershell 函数返回值问题 最近在写powershell的脚本,遇到个坑,分享给大家,发现powershell的函数返回值与传统的函数返回值大不一样.powershell中也支持return ...

  4. C语言中的函数返回值、return用法、return 0详解

    1.函数返回值 定义:函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过return语句返回. 没有返回值的函数为空类型,用void表示.一旦函数的返回值类型被定义为 voi ...

  5. C/C++main函数返回值以及return 0的作用

    C/C++main函数返回值以及return 0的作用 main函数的返回值 main函数的返回值用于说明程序的退出状态.如果返回0,则代表程序正常退出.返回其它数字的含义则由系统决定.通常,返回非零 ...

  6. C++函数返回值介绍

    你好,我是悦创.C++ 函数返回值介绍(含return 0 与 return 1 与 return -1介绍) 很多人在学习 C++ 的过程中应该会留意到返回值的问题,特别是习惯用:int main( ...

  7. linux 变量函数返回值,linux shell 自定义函数(定义、返回值、变量作用域)介绍...

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

  8. python中return返回值为函数名_Python函数返回值

    Python函数返回值教程 同时,Python 函数的返回值不需要在函数的签名上体现,只需要在函数体里面直接使用 return 语句返回即可. Python函数不返回值详解 语法 def func_n ...

  9. js中函数返回值return

    全栈工程师开发手册 (作者:栾鹏) js系列教程4-函数.函数参数教程全解 函数返回值 1.所有函数都有返回值,没有return语句时,默认返回内容为undefined,和其他面向对象的编程语言一样, ...

最新文章

  1. 什么是信度分析(Reliability)?有哪些信度分析方法?那什么又是效度?
  2. access期刊可以重投几次_又被拒稿了?老司机带你一投即中
  3. SpringMVC拦截器HandlerInterceptor使用
  4. 两个具有相同的名称在CLASSPATH中的类
  5. javascript中的this使用场景
  6. 31 socket客户端. 服务器 异常 语法
  7. js 按给定数组的顺序给数组排序_JavaScript中如何如何给数组以及数组对象根据value值进行排序。...
  8. Python面向对象:类
  9. 一文搞懂单片机驱动8080LCD
  10. 饿百零售开放平台,测试账号饿了么显示该商家还没有上传商品
  11. Paragraph ended before \CJK@XX was complete
  12. amoeba mysql_详解如何利用amoeba(变形虫)实现mysql数据库读写分离
  13. 搜狗输入法输入希腊字母
  14. linux ip rcv,【linux网络】ip_rcv()函数
  15. Turbo C的图形系统
  16. U-BOOT小全(二)
  17. 获取硬盘序列号的真正方法!!
  18. KindEditor粘贴时候自动上传远程图片(非本地)
  19. Linux常用命令——newusers命令
  20. 多 wan 口路由器配置

热门文章

  1. Unity期末大作业
  2. Vigenere算法如何进行加密操作?
  3. 做mysql服务器 需要什么配置最好_最佳的MySQL服务器配置以获得性能?
  4. AlphaGo Zero
  5. 谷歌人机验证reCAPTCHA使用
  6. 飞信msn多保险监控Linux服务器
  7. 2020最新版Selenium异常集锦
  8. 概率统计笔记:高斯分布的联合概率密度
  9. Transaction rolled back because it has beenmarked as rollback-only
  10. 翔云人脸识别-出行考勤政务服务一脸通