扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍“C++中为什么不要过度参数化”,在日常操作中,相信很多人在C++中为什么不要过度参数化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中为什么不要过度参数化”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创新互联公司专业为企业提供沈阳网站建设、沈阳做网站、沈阳网站设计、沈阳网站制作等企业网站建设、网页设计与制作、沈阳企业网站模板建站服务,10年沈阳做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
T.61:不要过度参数化成员(SCARY)
Reason(原因)
A member that does not depend on a template parameter cannot be used except for a specific template argument. This limits use and typically increases code size.
不依赖于模板参数的成员无法使用,特定的模板参数除外。这会限制使用并通常会增加代码大小。
Example, bad(反面示例)
template
// requires Regular && Allocator
class List {
public:
struct Link { // does not depend on A
T elem;
T* pre;
T* suc;
};
using iterator = Link*;
iterator first() const { return head; }
// ...
private:
Link* head;
};
List lst1;
List lst2;
template
struct Link {
T elem;
T* pre;
T* suc;
};
template
// requires Regular&& Allocator
class List2 {
public:
using iterator = Link*;
iterator first() const { return head; }
// ...
private:
Link* head;
};
Listlst1;
Listlst2;
Flag member types that do not depend on every template argument
Flag member functions that do not depend on every template argument
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流