初学C++,不懂为什么建议使用类外定义的方式,甚至是分文件类外定义?
这样的话声明和定义完全分离,修改的时候得找两个地方,不是更不方便吗?
再者,一个函数没有实现也可以通过编译,为什么不在声明的时候直接实现来避免这种情况呢?
类内定义是有什么弊端呢?
再者,类模板的类外定义时候,必须每一个成员实现都写一个template声明吗?有没有办法一次性声明呢?像类内定义那样直接写在class前头
初学C++,不懂为什么建议使用类外定义的方式,甚至是分文件类外定义?
这样的话声明和定义完全分离,修改的时候得找两个地方,不是更不方便吗?
再者,一个函数没有实现也可以通过编译,为什么不在声明的时候直接实现来避免这种情况呢?
类内定义是有什么弊端呢?
再者,类模板的类外定义时候,必须每一个成员实现都写一个template声明吗?有没有办法一次性声明呢?像类内定义那样直接写在class前头
头文件包含更小,方便多人维护,可以分为多个源代码文件
类内定义意味着头文件更大,编译更慢(虽然现在这不算很严重的问题,但是在早期,内存很小的时候,这很麻烦)
模板写在外面,没办法一次性申明。