C++ 中自定义数组容器MyVector实现总结
类模板实现过程中产生的问题:
问题一:.友元函数滥用的问题:
在实现<<输出操作符重载时,产生无法识别外部符号的问题。
原因在于模板类实现对友元函数存在限制(函数声明和函数重载分离的情况下才会有此种情况);
解决方法:
friend ostream &operator<<<T>(ostream &out, Point &p);注意<T>的位置,在参数列表前面
详细情况见:
https://blog.youkuaiyun.com/weixin_39583140/article/details/88816199
问题二:类模板的定义与成员函数的实现在.h和.cpp两个文件中实现的问题:
找不到外部符号的编译问题:
解决方法是在引用的文件中将include<MyVector.h>改为include<MyVector.cpp>
问题三:delete[ ]操作产生异常
错误在于delete与delete [ ]的混用;
注意区别 :
int *p=new int(10);
delete p;
int *q=new int[10]//注意()与[ ]的错用;
delete[] p;
</