编译链接过程 代码 #cat main.c #include <stdio.h> int add(int x, int y); int sub(int x, int y); int mul(int x, int y); int div(int x, int y); int main(void) { printf("add:%d\n", add(1,2)); printf("sub:%d\n", sub(10,100)); printf("mul
模版(template)设计的初衷,是设计一种自动实例化机制,不需要使用者参与,编译器可根据使用者提供的模版参数再套用类的定义来实例化.所谓实例化,除了包含对于程序变量的实例化,即开辟空间并设置某些变量的初值(构造函数)以及指针(如vptr)以及其他支持(virtual base class offset),还有对于函数的实例化,即根据函数的定义生成机器指令,并在函数调用处提供函数的入口地址.简单来看,普通类和模版类的区别,在于普通类实例化时有较为固定的空间开销(除非类似new string(n