博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++函数返回值介绍(含return 0 与 return 1 与 return -1介绍)
阅读量:4074 次
发布时间:2019-05-25

本文共 1563 字,大约阅读时间需要 5 分钟。

很多人在学习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,全部代码在:这篇博客。

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

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

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

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

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

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

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

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

#include
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代表正确,希望大家注意。

 

 

转载地址:http://qbyni.baihongyu.com/

你可能感兴趣的文章
Android 9.0 Http不能访问网络
查看>>
Android 9.0 Http不能访问网络
查看>>
Unity编辑器环境在Inspector面板中显示变量
查看>>
苹果IPhone真机开发调试
查看>>
UE4虚幻引擎独立游戏制作教程 UE4编程教学 虚幻引擎4
查看>>
revenue
查看>>
currency
查看>>
iTunes Connect上传APP屏幕快照图片失败 - 您必须上传有效的屏幕快照。
查看>>
receipt
查看>>
[教程] Packt - Create a Game Environment with Blender and Unity by Darrin Lile
查看>>
[教程] Packt - Create a Game Environment with Blender and Unity by Darrin Lile
查看>>
详解Unity Profiler内存分析问题
查看>>
essential
查看>>
k8s安装
查看>>
c++ python 实现AES加密 基于openssl
查看>>
python正则提取mysql中文数据
查看>>
python刷赞
查看>>
python收集网页中的翻页
查看>>
成语接龙
查看>>
python3调用腾讯AI开放平台
查看>>