腾讯

面试经验:
自我介绍时间要长,准备好简历上的东西

函数重载底层实现

http://www.cnblogs.com/zcwsmile/p/4027822.html
C++实现函数重载的技术手段是函数符号改名

函数返回类型不影响生成的符号名
函数名,参数列表(参数类型、数目)才是影响符号名的因素

void zzz(int x);
void zzz(int x,float y);
这两个函数函数名都是zzz。
但实际在底层汇编代码,函数名大概是z3zzzi,和z3zzzif。在底层函数名是不一样的z3zzzi 意思是3代表c++里函数名长度3,i代表int

虚继承

为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存,避免了数据不一致的问题。

 

 

不使用第三个数(临时变量)交换两个整形数

a^=b;b^=a;a^=b

 

posted on 2016-09-13 10:17  已停更  阅读(471)  评论(0编辑  收藏  举报