关于sql 自定义函数返回值值的一个问题。

5994人阅读
学习(66)
&C++语言的函数返回值类型可以分为内部类型和自定义类型两大类。
&&& 在函数返回内部类型中不能返回数组类型但可以返回指向数组的指针,同样也可以返回指向函数的函数指针。如果希望返回值可以作为左值(即可以放在赋值操作符左边的)那就必须返回引用类型。
&&& 而在函数返回自定义类型(即返回类类型)中根据是否可作为左值,返回值是否可调用成员函数的不同可分为以下四种情况。
& & T:返回类类型
const T f();
const T& f();
& & T f(); 返回一般的类类型,返回的类类型不能作为左值,但返回的类类型可以直接调用成员函数来修改,如function().set_Value(); 返回类类型调用复制构造函数。
&&& const T f(); 此种类型与上述第一种相同,唯一不同的是返回的类类型不能调用成员函数来修改,因为有const限定符。
&&& T& f(); 返回类的引用可以作为左值,并且返回的类类型引用可以直接调用成员函数来修改,返回的类类型不会调用复制构造函数。
&&& const T& f(); 不能作为左值,不能调用成员函数修改,不会调用复制构造函数。
返回引用的函数返回一个左值。因此,这样的函数可用于任何要求使用左值的地方
&#include &iostream&
#include &string&
char &get_val(string &str, string::size_type ix)
return str[ix];
int main()
string s(&a value&);
cout && s &&
get_val(s, 0) = 'A';
cout && s &&
给函数返回值赋值可能让人惊讶,用于函数返回的是一个引用,因此这是正确的,该引用是被返回元素的同义词
如果不希望引用返回值被修改,返回值应该为const
const&char&&get_val
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:205639次
积分:2387
积分:2387
排名:第13778名
原创:83篇
转载:24篇
评论:40条
(3)(28)(1)(1)(2)(1)(2)(1)(1)(3)(15)(14)(8)(26)(2)【Python】(37)
1.Python函数返回值
两种形式: 1 返回一个值。 2 返回多个值。 现看看返回一个值的吧。
def firstvalue(a,b):
&&& c = a + b
&&& return c
print firstvalue(1,2)结果:3
再看看返回多个值的: 那怎么可以返回多个值呢,其他的语言一般调用函数的话,只能返回一个值,可能我不太熟悉所有的语言,我知道的语言只能返回一个值,而python可以返回多个值,感觉非常方便,发代码看下:
def secondvalue(a,b):
&&& c = a + b
&&& return (a,b,c)
x,y,z = secondvalue(1,2)
print 'x:',x,'y:',y,'z:',z
2.类的返回值
函数可以说是一个黑箱,输入一些值,然后输出一些值,因此return就是让函数输出值的操作。
然而,类,简单来说就是一系列函数的集合,它最主要的用途是设定对象和方法。
在Python中,我简单举个例子,我要算a+b=c,我输入a和b,输出c。
那么,函数就是这样的:
def plus(a, b):
&&& c = a + b
&&& return c
这里你就可以看到,输入两个值,经过函数内部计算,就输出的一个值。在主程序中你调用这个函数,比如:c = plus(1,2),那么print c就得到3。
但是类是不同的,同样是计算a+b=c,我要先设定一种方法,比如叫做Plus,如下:
Class Plus:
&&& def __init__(self, a, b):
&&&&&&& self.a = a
&&&&&&& self.b = b
&&& def return_result(self):
&&&&&&&self.c = self.a + self.b
&&&&&&& return self.c
那么在主程序中你就要调用这个类,如下:
equation = Plus(1, 2)
result =equation.return_result()
print result
这样你就会得到结果3。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:11764次
积分:1656
积分:1656
排名:千里之外
原创:160篇
(19)(18)(18)(51)(18)(16)(9)(13)
欢迎加入群进行技术交流或者QQ进行沟通扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
若已定义的函数有返回值,则以下关于该函数调用的叙述错误的是( ) 选择一个答案 A.函数调用可以作为独若已定义的函数有返回值,则以下关于该函数调用的叙述错误的是( )选择一个答案 A.函数调用可以作为独立语句存在 \x09B.函数调用可以作为一个函数的实参 \x09C.函数调用可以出现在表达式中 \x09D.函数调用可以作为左值而被赋值
Bug魔丶313
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
如果是C语言的话,这道题要选D.如果是C++的话,这道题没有答案.因为C++里有引用类型,如果一个函数返回的是引用类型,那么是可以作为左值被赋值的.
能将这个引用类型举个实例么?
int &getRef() // 返回引用类型
static int x = 0;
int main()
getRef() = 5;
// 函数调用作为左值。
cout << getRef() <<
为您推荐:
其他类似问题
扫描下载二维码}

我要回帖

更多关于 自定义函数返回值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信