请问在c++中,“->”,“::”,“.”三个符号的用法

作者&投稿:召琴 (若有异议请与网页底部的电邮联系)
c++中符号"->"和"."的用法~

"."和"->"都是二元操作符,格式为:变量(.或->)成员。(成员可以是变量,也可以是函数)。
各自含义解释如下:
1 "." 该操作符认为左边的变量是一个结构或者类对象。
.将取该变量的成员值(操作符右边的成员)。
2 "->" 该操作符认为左边的变量是一个指针。
->将取该指针指向的变量的成员值(操作符右边的成员)。

所以反推过来,总结这两个操作符是用来访问类对象或结构的成员的操作符。
1 如果是结构或类对象的变量,使用操作符"."访问成员。
2 如果是结构或类对象的指针,使用操作符"->"访问成员。

C++中的引用符号“&”的使用方法是,类型标识符 &引用名=目标变量名。
C++是C语言的继承,它可进行过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。引用(reference)就是C++对C语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。

扩展资料:
引用说明:
1、&在此不是求地址运算,而是起标识作用。
2、类型标识符是指目标变量的类型。
3、声明引用时,必须同时对其进行初始化。
4、引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。
5、对引用求地址,就是对目标变量求地址。&ra与&a相等。即我们常说引用名是目标变量名的一个别名。别名一词好像是说引用不占据任何内存空间。但是编译器在一般将其实现为const指针,即指向位置不可变的指针。即引用实际上与一般指针同样占用内存。
6、不能建立引用的数组。因为数组是一个由若干个元素所组成的集合,所以无法建立一个由引用组成的集合。但是可以建立数组的引用。
参考资料来源:百度百科-C++引用

"->" 这个是指针型结构或类的对象的访问符号.
例:
pObject->SetName();
表示用指针对象pObject来访问这个函数.

"::"域操作符.
例:
AA::SetName();
表示SetName这个函数属于AA这个类或结构的.

"."这个是结构或类对象的访问符号.
例:
Object.SetName();
表示用对象Object来访问这个函数.

"->"和"."的区别在于:
用指针对象访问的时候,必须先给指针new一块内存空间,用对象来访问的时候则不用.

. 前面是对象名 间接选定成员
-> 前面是指针名(是个地址) 直接选定成员
:: 是作用域分辨符~ 指明一个函数属于哪个类 或一个数据属于哪个类 我们老师告诉我个很好的解释就是给::翻译成"的" 谁的什么什么.
注意 ::前什么不接的话,表式全局数据/函数(非成员的)

例如你定义了个全局变量
int a;

在下面给全局变量赋值
::a=10;

调用非成员函数也是一样的~~

请问C语言是怎么计算负数取余的?
答:C语言计算负数取余:符号内的被除数决定,就是计算式中的-7,7,-7决定:比如-7%5=-2;7%-5=2;-7%-5=-2;负数取余的原理:任何一个整数n都可以表示成n=k*q+r其中0<=|r|<|q|这里的r就是n除以q的余数,即r==n%q例如:-9=(-2)*4+(-1)则-9除以4的余数为-1。求余:取整...

请问C语言中的"."、"*"、"->"、"&"都有什么作用和区别?
答:表示把变量b的地址赋给指针,此后的"&b",中的‘&’是取地址符号即变量b所在的内存单元的编号。使指针变量指向b所在的内存单元,那么要是用指针使用b的数据即3,可以使用:*a,此时的‘*’代表使用指针变量所指向的值,

请问%和&在C里是什么意思?
答:-- 取余数 运算符, 例如 x = 12 % 4; 得 0 -- 格式定义符,例如 "%d %f %e %s %x %.2f %12.3lf"& -- 按位与运算符, 例如 y = 0x8000 & b;& -- 取地址运算符,例如 int *p,a; p=&a;if ((a%2)==1);-- 取余数, a除2 余数 等于 1 则做条件语句。。。int a...

请问在单片机C语言中,while(--t)和while(t--)有什么区别啊?
答:(1)while(--t)用到了减一不为0转移指令DJNZ keil5中while(--t)的汇编语言 上图中,DJNZ的意思是先将R7中的数值减1,判断是否为0,不为0则跳转至标号为C:06F4的语句处继续执行程序,否则跳出循环。可见while(--t)只需一条汇编指令便可完成一次循环操作。(2)while(++t)用到了数据传输指...

请问c语言中 ->符号是什么意思? 比如c=a->b,谢谢
答:a为结构体或联合体的指针,->表示调用其成员

C语言的题,如图,请问为什么等于4?--不是在后面吗,要第二次才减,那5...
答:x=5 if(x--<5) 这里 x先返回原始值5 然后才减1的 所以 5不小于5 输出 else 输出(x++)执行这里 和上面一样 x先返回原始值 由于上面执行了x--所以x是4 所以输出4

请问一下C语言中,printf( "'%c' - 是一个", c );。。。这一列的作用是...
答:printf( "'%c' - 是一个", c ); 这句话就是说你从键盘输入的字符 c是一个 数字或者什么的,根据你后面的判断才显示,那条语句只是一个简单的输出语句,%c跟后面的c是对应的,%c是输出一个字符,你定义的c是字符类型。有什么问题可以继续问我哦!

C语言中代码C+"a"-A
答:首先,你写的代码应是c=c+'a'-'A',其作用是将大写字母变换成小写字母。将小写改成大写应该是c=c-'a'+'A'。对字符型数据进行处理,实际上是对其ASCII码进行处理的。每个字符都有与其对应的ASCII码,对于英文字母的大小写,其ASCII码相差32,即小写字母比大写字母的ASCII码大32。所以,小写转换成...

c语言中取地址符和*有什么区别?
答:1,符号含义不同:&是取地址运算符,&a为变量a的地址。2,用法不同:声明中 int x; x 是整型量。语句中,&x 是整型量x的地址。不是指针,才有&。语句中,x 是整型量x的值。3,指向不同:*是指针运算符,*p为指针变量p所指向的存储单元中的内容。而指针变量p中一般只存放地址。* 表示...

在c语言中,如何自定义头文件
答:自定义头文件通常放在使用该头文件的源文件所在的目录中,并使用#include "MyHead.h"来包含。头文件是不编译的,因为C语言编译过程之前有个预编译过程。在这个过程中用头文件中的内容替换源文件中“#include”命令,所以在编译器看来,没有头文件,只有源文件。预编译过程还包括条件编译。头文件为了防止...