当前位置: 首页 > news >正文

做网站怎么收费多少网站建设说明书怎么写

做网站怎么收费多少,网站建设说明书怎么写,郑州百度推广seo,网站开发会遇到哪些问题一 类模板 template <class T或者typename T> class 类名 { .......... } 1.1 两种不同的实现 在以下的两种实现中,其实第一种叫做成员函数模板&#xff0c;并不能称为类模板因为这种实现,我们在调用时,并不需要实例化为Product这个类指定指定特定类型。 // 实现1 clas…

一 类模板

template <class T或者typename T>

class 类名

{

..........

}

1.1 两种不同的实现

  • 在以下的两种实现中,其实第一种叫做成员函数模板,并不能称为类模板
  • 因为这种实现,我们在调用时,并不需要实例化为Product这个类指定指定特定类型。
// 实现1
class Product
{
public:template<typename T>void setProduct(const T& t){qDebug()<<t;}
};
  • 但下面这种实现才是真正的类模板实现
  • 这种的问题是每次实例化都必须指定类型T,这意味着每个 ProductA 实例都绑定到了一个特定类型上。
template<typename T>
class ProductA
{
public:void setProduct(const T& t){qDebug()<<t;}
};
ProductA<int> procduct;
procduct.setProduct(10);

1.2 优缺点

  • 如果你需要一个类能够处理多种不同类型的数据,并且这些数据类型在设计时是未知的,那么 示例 1 更加合适。
  • 如果你需要一个类只处理一种特定类型的数据,并且希望在类的设计时就明确这一点,那么 示例 2 更加合适。

1.3 类模板类外定义

  • 声明
template<typename T>
class SumTemplate
{
public:T sum(T a, T b);T max(T a, T b);
};
  • 定义:在定义时不但要加载类名的限定符,还要声明模板参数,以及传递模板参数
template<typename T>
T SumTemplate<T>::sum(T a, T b)
{return a + b;
}template<typename T>
T SumTemplate<T>::max(T a, T b)
{return a > b ? a : b;
}

1.4 模板类

  • 实例化的模板也就是模板类,模板类是一个由模板生成的类
    SumTemplate<int> templateA;qDebug()<<templateA.sum(1024,1024);qDebug()<<templateA.max(1024,512);SumTemplate<float> templateB;qDebug()<<templateB.sum(1024,1024);qDebug()<<templateB.max(1024,512);

二 模板类定义不能定义在cpp中

  • 如果我们将模板类定义在cpp中,那么我们就会遇到未定义的错误行为
  • 对于模板类的函数声明和实现必须放在同一个.h里面

2.1 原因 

  • 延迟实例化: 首先当编译器遇到类模板的声明时,并不会为这个类模板创建任何的代码,因为类模板的实例化是在调用它时才会产生对应的代码。
  • 如果成员函数定义位于类模板定义之外,比如在另一个 .cpp 文件中,那么就需要显式地实例化这些成员函数。这是因为编译器在处理模板类实例化时,需要知道成员函数的实现细节。如果没有显式实例化,编译器可能无法找到这些成员函数的定义。(也就是在编译阶段无法知道函数的具体细节)
  • 当成员函数定义直接放在类模板的定义中时,编译器可以在任何实例化该模板类的地方看到这个成员函数的定义。这种方式下,不需要显式实例化成员函数,编译器会在需要的时候自动生成特定类型的版本。

2.2 解决

  • 我们可以提前在.cpp里面显示指定模板类的类型,但这种方式不推荐使用
template class SumTemplate<int>;
template class SumTemplate<float>;

http://www.yayakq.cn/news/603517/

相关文章:

  • 鹤壁做网站的公司wordpress飘窗
  • 网站如何开通支付功能深圳市住房和建设局招聘
  • 校园网站建设年度工作计划ui设计培训机构学费
  • 做石材一般用哪些网站推销网站建设什么软件
  • 做的好的ppt下载网站有哪些网站html代码
  • 写文章的网站长兴县住房建设局网站
  • 采购网站排名做路线图的网站
  • 目前做哪个网站能致富微网站介绍
  • 省通信管理局 网站备案制度流程做网站技术含量
  • 贵州网站建设gzzctyi网站如何收录快
  • 上海网站建设哪比较好的装修公司
  • 做国际网站找阿里图片 网站源码 采集
  • 哈尔滨建设厅官方网站网站长域名
  • 做基础网站主机要?九宫格导航网站
  • 贵州省城乡和住房建设厅官方网站商城网站建设哪家效益快
  • 网站建设的目录浏览长沙企业宣传片制作公司
  • 怎么做一个链接网站网站正在升级建设中
  • 用wordpress 扒站网站忘记备案
  • wordpress更换网站域名青岛制作企业网站的公司
  • 一级a做爰片免费网站体验区网站怎么建
  • 网站 流程住房和城乡规划建设局网站
  • 劳保手套网站建设企业工商查询
  • 庐江魅力网做网站号码WordPress微信签到
  • 网站建设调研论文网站推广策划执行方案
  • 网站标题和关键词手机兼职群
  • 广州快速建站哪家服务专业青海建设厅通报网站
  • 创建一个网站一般步骤有哪些wordpress 加密算法
  • 英文版网站建设方案网站公司网站定制
  • 湖北神润建设工程有限公司网站工会网站平台建设
  • 邯郸网站建设fkop移动端网站建设的意义