首页 > 代码库 > C++3

C++3

76、为什么C语言不支持重载而C++支持重载

技术分享
1 这个问题就好比为什么会有externC这种东西C++不是兼容C 的吗2 原因是C++编译器在编译的时候对于不同类型的函数会编译成不同类型的函数名,比如说 int fun(int a, int b) 可能就会被编译成_int_fun_int_int这样子,而C语言的编译器不会,所以如果不写externC  C++编译器会报错,因为它无法找到对应的函数。这也是C++为什么支持重载的原因
View Code

77、判断是否是重载

  int *fun(int *)  

  double *fun(double *)

  以上两个是正确的     返回值都是指针

78、

#include <iostream>
using namespace std;

class A {
virtual int fun() {}
};
class B {
virtual int fu() {}
};
class D {
virtual int fu() {}
};

class C :public A, public B,public D {
};

int main() {
cout << sizeof(A) << endl;//4
cout << sizeof(C) << endl;//12
}

79、vector 迭代器删除要  vec.earse(it --);  因为vector删除元素之后会自动前移

 

C++3