我的问题认为是cpp。
我知道我们通过参数的类型(int,double等)将其传递给函数,并且每种数据类型都占用特定的内存大小。但是,当类型是类时,到底发生了什么? (即,我们将类类型的对象传递给函数。)
就像原始类型一样,类类型的副本将传递给函数。
也与原始类型一样,您可以将reference传递给不会复制该对象的类类型。
确切发生的情况将取决于ABI以及准确传递参数的方式。例如,如果从临时对象传递对象,则可能会有复制删除。假设基本设置是传递一个类类型的对象,该对象将通过值命名和传递,实际上发生的操作是:
是否真的发生取决于编译器是否可以确定是否存在任何可观察到的副作用。有很多优化机会。
从概念上讲,与内置类型相同。如果ABI允许并且对象适合,则也可以使用寄存器传递类类型对象。