mun*_*ish 5 c++ operator-overloading
已经重载的运算符<<,>>,=等多次使用.
我想到的一个例子是当我们添加字符串时说:
string name = string("munish")+"kumar";
+运算符在字符串类中重载.
但是当我们添加像1 + 2这样的数字时(似乎不像是重载的操作员调用)
我只是想知道编译器是如何进行二进制加法的.
如果编译器这么做的话,我不需要担心它,只是好奇的问题.
原始类型没有实现operator+哪个实际上是具有奇怪名称的函数.原始类型的添加由CPU指令执行,例如:
addl %edx,(%eax) //this adds two integral values loaded at edx and eax
Run Code Online (Sandbox Code Playgroud)
您实现operator+了用户定义的类型,并且编译器生成许多CPU指令来执行您编写的任务operator+.
| 归档时间: |
|
| 查看次数: |
3566 次 |
| 最近记录: |