1.__stdcall和__cdecl的区别
哈哈,又又呆住了,没见过这两个关键字
网上查起,这两个是函数调用的一种约定,调用方和被调用方(函数提供方)需使用相同的约定,C语言默认__cdecl,c++则是__stdcall,
函数入栈方式都是从右向左,两者的区别就是_stdcall的函数在返回时会自动清除堆栈中的参数;__cdecl的函数在返回时不会自动清除堆栈中的参数,
清除工作由调用者完成。
2.vector,list,map的底层机制
这个大概意思知道,vector底层还是数组,内存不够时再重新分配一块空间,大小为原来的两倍;list就是双向链表,是由许多不连续的节点组成;
map底层是红黑树,由键和值构成。
3.内联函数和宏的区别
宏只是进行简单的字符替换,内联函数则会进行类型检查,更安全。