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

买一个域名多少钱一个手机清理优化软件排名

买一个域名多少钱一个,手机清理优化软件排名,vs做网站开发,提供网站建设服务的网站依赖类型,顾名思义就是依赖于模板参数的类型,在使用这种类型时,必须使用 typename,否则编译器是无法知道是在使用类型,还是类的成员(因为类的静态成员的使用方法也是T::xxx,这跟某个类中的类型的…

        依赖类型,顾名思义就是依赖于模板参数的类型,在使用这种类型时,必须使用 typename,否则编译器是无法知道是在使用类型,还是类的成员(因为类的静态成员的使用方法也是T::xxx,这跟某个类中的类型的使用方法是一样的)。

        下面看一下简单的例子:

#include <stdio.h>
#include <stdlib.h>struct myData
{typedef unsigned int myType;myType mValue;myData(){mValue = 100; }
};template <typename T>
int func(const T &it)
{T::myType value = 200;return it.mValue - value;
}int main()
{myData data;myData::myType ret = func(data);printf("ret = %d\n", ret);
}

在这个模板函数 func 中想要使用 myData::myType 这个类型来声明一个变量 value,这样编译会出现什么错误呢?

编译错误已经指明,需要使用 typename 来引用T::myType 这个类型,因为T是一个依赖作用域。假如不用 typename 也能编译成功的话,是不是就会产生歧义了?因为 T::myType 也可以表示为一个类的静态成员,所以 typename 是必要的。 所以要想使用依赖于模板参数的类型时,必须加上 typename,如:typename T::myType value = 200;

如《Effective STL》中的例子
 

template<typename C>
bool lastGreaterThanFirst(const C& container)
{if (container.empty()) return false;typename C::const_iterator begin(container, begin());typename C::const_ierator end(container.end());return *--end > *begin;
}

在这个例子里,局部变量begin和end的类型是C::const_iterator。const_iterator是依赖形式类型参数C的一种类型。因为C::const_iterator是一种依赖类型,你被要求在它之前放上 typename 这个词。(一些编译器错误地接受没有typename的代码,但这样的代码不可移植。)

http://www.khdw.cn/news/67961.html

相关文章:

  • 专做批发的网站有哪些长春seo排名扣费
  • 摄影网站cms社区推广
  • 南桥做网站软文营销的案例
  • 可以上传自己做的视频的网站吗浙江百度查关键词排名
  • b2b平台网站功能江门关键词优化公司
  • 凡科免费建站平台运营推广怎么做
  • 专业个人网站百度开户代理公司
  • css 网站模板民宿平台搜索量上涨
  • 做网站为什么要建站点正规的培训机构有哪些
  • 时光轴网站北京百度网站排名优化
  • 苏州市建设局招标网站优化大师班级
  • 做暧嗳xo小视频网站营销网站案例
  • 织梦dede做网站的优点软文营销网
  • 网站类型有哪些百度推广客户端下载
  • 东莞黄江做网站公司上海搜索seo
  • 衡阳seo外包苏州百度 seo
  • 网站建设的感想上海培训机构排名
  • 手机网站范例军事新闻最新24小时
  • 网站备案核验单怎么填百度app关键词优化
  • 重庆家政网站建设旅行网站排名
  • 公司网站怎么推广怎么优化一个网站关键词
  • 合肥网站建设网站推广津学院什么软件可以找客户资源
  • 手机网站怎么开发优就业seo
  • 怎样做推广网站百度服务中心官网
  • 自己做网站用买域名吗珠海网站建设制作
  • 滨海做网站的免费永久注册顶级域名网站
  • b站推广网站mmm换脸免费的行情网站app
  • 做游戏网站要备案吗成都关键词优化平台
  • 衡水网站建设公司百度网站关键词排名查询
  • 保定网站报价深圳最新通告今天