C++中类名函数名(),C++ 中,类名 & 变量名 是什么意思?

2021-01-12 08:29:03 字数 3966 阅读 8443

1楼:匿名用户

这种就是返回引用

实现的时候 直接返回正常的变量就好。

可以是成员变量 静态变量 全局变量

总之不能返回局部变量。

c++ 中,类名 & 变量名 是什么意思?

2楼:匿名用户

这是c++相对于c新引入的一个概念——引用

3楼:回忆怎么捡

&表示引用。“&变量名”,就相当于给变量取的一个别名。因为主程序向子程序传递形参后不改变原变量的值。

如果想改变原变量的值,就要用指针来传递变量的地址从而改变变量的值。但用指针的话可读性就不是太好,所以用“&变量名”作为变量的别名,既能改变原变量的值,也好让人看懂,就是可读性强,程序就简洁易懂多了。

4楼:刷新①丅

引用。百科资料:http://baike.baidu.***/view/5976.htm#6 。

学c++引用和指针都要搞清楚。

5楼:心尘月晓

打个比方说,现在有个类:class a{};

a &a这个时候a是a的别名,相当于给类a又起了个名字,以后对a的操作都是对a的操作,一般情况下是用在函数形参的时候,在函数中操作类相当操作实参的类,和指针比起来,效率更快,因为是别名,不用分配新的内存。

6楼:超级旅行者

建立对变量的引用,这个引用相当于变量的另一个名字。

7楼:伪装91心情

引用、获取地址 和指针差不多

c++类的成员函数前加&什么意思

8楼:匿名用户

这个和函数参数加地址符的作用是一样的,用于返值返回的是引用而不是赋值。

也就是说,该函数返值会通过地址传送的方式给到函数调用者要求的返回值,这样可以节省对象赋值造成的内存浪费,通常用于返值是大型对象(而不是简单变量类型)的时候。

比如你有个class t,而这个函数的返值是return t; 加上地址符返值后,返回t变量的地址,将地址传递给接收返值的变量,而不是新建一个类t,调用类的复制函数创建一个新类。

9楼:it孤鹜

& 就是引用的意思

引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。

c++ 函数名前的::是什么意思

10楼:匿名用户

::是域运算符

域运算符一般用来选用全局的函数,如在cwnd类里要使用api的setwindowpos()就要用域运算符

::setwindowpos();

m_dataset.setconnection(::getconnection());

这句话的意思是,调用 m_dataset对象的setconnection()方法,

而setconnection()里面的参数是由全局函数getconnection()的返回值。

有疑问请hi我或追问,请不要关闭问题:)

11楼:匿名用户

::是输出的意思。全部意思是 为m_dataset对象设置一个值,从getconnection 这个方法的返回值里面提取出来。

12楼:凌云紫冥

::是作用域标识符

前面没有任何类的话 说明是全局的

::getconnection() 以这个函数的返回值作为setconnection的参数

13楼:匿名用户

域作用符~例如std::endl,说明endl是来自名字空间std这个作用域的~就像一个前缀一样,说明这个东西是来自**的~

14楼:匿名用户

域符号。

a::b 表示b是属于a的。

c++中函数名字前有&是什么意思?

15楼:學雅思

&的意思是返回引用类型。

格式:类型标识符 &函数名(形参列表及类型说明)。

在内存中不产生被返回值的副本;(注意:正是因为这点原因,所以返回一个局部变量的引用是不可取的。因为随着该局部变量生存期的结束,相应的引用也会失效,产生runtime error。

扩展资料

使用返回引用类型注意事项:

1、不能返回局部变量的引用。这条可以参照effective c++的item 31。主要原因是局部变量会在函数返回后被销毁,因此被返回的引用就成为了"无所指"的引用,程序会进入未知状态。

2、不能返回函数内部new分配的内存的引用。这条可以参照effective c++的item。虽然不存在局部变量的被动销毁问题,可对于这种情况(返回函数内部new分配内存的引用),又面临其它尴尬局面。

例如,被函数返回的引用只是作为一个临时变量出现,而没有被赋予一个实际的变量,那么这个引用所指向的空间(由new分配)就无法释放,造成memory leak。

3、可以返回类成员的引用,但最好是const。这条原则可以参照effective c++的item 30。主要原因是当对象的属性是与某种业务规则(business rule)相关联的时候,其赋值常常与某些其它属性或者对象的状态有关,因此有必要将赋值操作封装在一个业务规则当中。

如果其它对象可以获得该属性的非常量引用(或指针),那么对该属性的单纯赋值就会破坏业务规则的完整性。

16楼:匿名用户

&的意思是,返回类型为***plex 的一个引用。

不加&的时候表示,返回类型为***plex 的一个拷贝。

就类似于函数参数传递时,按值传递和按引用传递的区别。

17楼:匿名用户

返回一个***plex 对象的引用。

既是返回的对象不会被复制 直接丢给你

18楼:匿名用户

***plex &, 这个不应该叫函数名前有&,这个应该叫类型后面加&, 表示引用类型。

19楼:

&的意思为,为a1取个别名,为operator

c++中如 类名 类名::对象 是什么意思

20楼:匿名用户

c***plex c***plex::add(c***plex &x) (这一句 不懂为何 类名 类名::对象)

c***plex是返回的类型,return y;中的y不就是c***plex类型么。

c***plex::add(c***plex &x)在add前面加c***plex::是域的意思,是为了告诉其他程序,这个add函数是c***plex的

c***plex &x的意思是参数x是c***plex类型的引用

21楼:千锋教育

就是操作不同类中的对象,就要用域操作符。

::是c++里的“作用域运算符”。

比如声明了一个类a,类a里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成void a::f(),表示这个f()函数是类a的成员函数。

:: 一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,在类内定义的时候,打此函数名默认 调用的是本身的成员函数;如果要调用同名的全局函数时,就必须打上::

以示区别。比如在vc里,你可以在调用api函数时,在api函数名前加::。

22楼:匿名用户

::在c++中叫做域操作符

类函数的实现可以在类的定义中,也可以在定义中只声明函数,而在定义外实现函数,那么实现时要告诉编译器实现的是哪个类的函数,就要用到域操作符::,类名::成员函数的这种写法就是说明当前实现的函数是::

前面那个类的成员函数,不知道有没有讲清楚

23楼:孔柳星影

对象的意思就是你的程序做出来的时候,那个程序的使用者

C类名函数名什么意思例如:A是类名B是类里面

1楼 匿名用户 类名就是你定义的一个类的名字,函数名是函数的名字啊,类是某些个操作对象的集合,函数就是操作,对类的实例进行操作。a 就是构造函数,当你从a这个类别里构建一个对象时就用到a ,b 是类的成员函数,就是对a这个类可以进行的操作。 2楼 不是a b 是a a a b 或者a b 都是调用a...

c类名1类名2方法名是什么意思,C++ 类名1 * 类名2::方法名()是什么意思

1楼 王现芝 1 方法名 是类名2的成员函数,无形参 2 类名1 是 1 中成员函数的返回值类型。 3 在类名2中函数的声明原型是 类名1 方法名 2楼 在类2中定义了一个返回值为指向类1指针的方法。 c 类 和类名相同的那2个函数有什么用的 3楼 猪头或火宝宝 class fc fc 它叫构造函数...

c语言中数组名和指针变量的区别,C语言中数组名和指针的区别

1楼 销 数组名除了sizeof会返回数组大小,其他的实况下是相当于一个指针常量无区别的 指针常量也就是说,不能改变数组名的值,比如int a 10 a a a a 10等都是非法的 c语言中数组名和指针的区别 2楼 匿名用户 数组在当作参数传递时,可以当作指针 当然,参数传递相当于赋值操作,所以用...