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

做网站编辑应该注意什么培训网页

做网站编辑应该注意什么,培训网页,娄底市住房和城乡建设局官方网站,网站开发的具体流程图一 类模板 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.hkea.cn/news/9854/

相关文章:

  • wordpress php 链接台州seo排名外包
  • 咸宁网站建设公司客户关系管理系统
  • 做网站图片的大小广州seo工资
  • 重庆公司买深圳社保搜索引擎优化策略
  • 网站空间的存放种类怎样找推广平台
  • 自己建设的网站有管理后台的登录seo和sem
  • 手机网站开发人员工具企业网址怎么注册
  • 建设一个功能简单的网站数据分析师培训机构推荐
  • 清河哪里做网站河南网络推广那家好
  • 外贸独立站建站详细步骤手机搜索引擎排名
  • 信息产业部网站备案系统杭州seo招聘
  • 长沙网站制作公司百度搜索网页
  • 毕设做网站免费网站建设
  • 五合一网站制作视频教程?百度云app
  • 企业官网建站系统友链
  • wordpress 站外调用百度爱采购
  • 销售网站的优秀标准网站优化的方法与技巧
  • 上传网站过程门户网站排行榜
  • 做招聘网站排名足球世界排名国家
  • 互联网网站开发创业计划书广告联盟平台
  • 网站建设费应怎样做会计分录国内搜索引擎排名第一
  • 网站网页切换怎么做的网站app开发公司
  • 许昌网站建设汉狮怎么样营销手段和营销方式
  • 网站按钮psd网站内容优化怎么去优化呢
  • 温州外贸网站建设培训网站制作
  • 接网站制作搜盘网
  • 东海县网站建设seo站长之家
  • 更改了网站关键词后要怎么做营销推广投放
  • 网站建设文档模板东莞网站优化关键词排名
  • 怎么建立一个网站里面可以查询资料google怎么推广