和的作用是什么?
在C++中, 是一个函数,而不是一个运算符。 它的作用是, 把参数压入到一个栈中(内存中有一块连续的空间), 在栈的顶部执行代码。 这样实现的目的有两个:
1、允许不依赖于顺序的执行代码,因为“先入为主”的代码在执行的时候需要知道之前的代码执行的结果;而“后入为主”的代码在插入的时候不需要关心它后面有没有其他代码。这个功能使得C++可以实现所谓的顺序无关性。
2、允许使用右值表达式,因为右值是存在于内存中的临时对象,不能在左边的函数参数表中传入。而在右边的函数体内可以使用变量的右值来作为左边函数的参数,即右值用于函数调用时,相当于把参数压入到栈中,再根据顺序执行这些参数。 C++语言中所有可调用(可被调用者通过函数名或成员变量/指针调用)的对象都有一个对应的函数,其形式是(形参表)->函数返回类型 其中, 称为函数的协议,它定义了这个函数所能接受的数据及其所能够做的操作。也就是说,对于每一个可以调用的对象都对应着一个协议的集合,而这个协议的集合的大小由所使用的编译器所决定。
只要确定了对象的协议,就可以调用该对象所指的函数并确定该调用是否成功。当然,不同的编译器所支持的函数协议是不相同的。但C++标准所规定的函数协议是所有编译器都必须支持的。虽然我们无法直接访问函数内部的具体逻辑,但通过已知的函数协议,我们仍然可以达到我们的目的。 所以,从这方面来看, 和C#等面向对象的编程语言相比,C++是一种更“面向过程”的语言,而C#则是一种更“面向对象”的语言。