c++-在C++ primer中看到一行代码,有点不解。

问题描述

在C++ primer中看到一行代码,有点不解。
 template <typename T> class Blob{
 public:
            typedef typename std::vector<T>::size_type size_type;

为什么中间有个typename,而不是直接写成这样:

 typedef std::vector<T>::size_type size_type;

谢谢啦。

解决方案

这个是在模板定义中,在你的代码中std::vector::size_type 这个是一个类型,而不是一个变量,所以需要告诉编译器,它是一个类型,而不是变量
所以需要加typename来进行修饰,告诉编译器,不然编译器就会有出错。

解决方案二:

参考:http://blog.csdn.net/fallstones/article/details/6265764

解决方案三:

typename 是类型名称哦.只是提示你这个值是一个类型的名称.

解决方案四:

typename 是类型名称哦.只是提示你这个值是一个类型的名称.

时间: 2024-11-08 19:09:09

c++-在C++ primer中看到一行代码,有点不解。的相关文章

uri-JSP中的一行代码 &amp;amp;lt;%@ taglib

问题描述 JSP中的一行代码 <%@ taglib uri="http://java.sun.com/jstl/core 标准标签库里,这里的uri,是寻径找到相应的文件的.??这个uri我看不懂.. <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> 解决方案 加上这一句使用jstl标签.使用冰箱不用先去学制冷技术吧?先会用就行. 解决方案二: 是在你的java

请教busybox makefile中的一行代码

问题描述 请教busybox makefile中的一行代码 大家好, CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; else if [ -x /bin/bash ]; then echo /bin/bash; else echo sh; fi ; fi) 这句话的目的是为了打印CONFIG_SHELL这个变量的值,可是第一个if中为什么要写成"$$BASH",写成"$BASH&q

Java8中使用一行代码读取文件_java

JDK7中引入了新的文件操作类java.nio.file.File,它包含了很多有用的方法来操作文件,比如检查文件是否为隐藏文件,或者是检查文件是否为只读文件.开发者还可以使用Files.readAllBytes(Path)方法把整个文件读入内存,此方法返回一个字节数组,还可以把结果传递给String的构造器,以便创建字符串输出.此方法确保了当读入文件的所有字节内容时,文件属性是关闭的,否则就会出现IO异常或其它的未检查异常.这意味着在读文件到最后的块内容后,无需关闭文件. 要注意,此方法不适合

linux中mount一行代码挂载目录

挂载点必须是一个目录. 一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用 挂载时使用mount命令: 格式:mount [-参数] [设备名称] [挂载点] ● syntax : mount -t type [-rv] -o [option] server:pathname /mount_point 例子  代码如下 复制代码 mount -o bind /dat/web/uld/ctf/ /opt/ist/red5/webapps/vod/stream

只需一行代码,轻松实现一个在线编辑器_javascript技巧

在大部分人眼里,技术宅给人的印象是沉默寡言,总摸不透他心里想些什么,彼此都保持距离.作为半个程序员,我觉得真正的技术宅大部分时间都在找乐子,鼓捣各种想法,和大部分人的极客心理是一样的,程序员也还爱讲笑话,也喜欢烧菜做饭,虽然大多是为了减减压,这样看来和常人没什么不一样. 不一样的地方,技术宅崇尚极致,喜欢极简,又希望简约不简单,背后就是技术宅满心思的不断的尝试,我正在看着一出好戏在上演: "程序员 Jose Jesus Perez Aguinaga 在 CoderWall 分享了一个小技巧:在浏

php中一行代码获取文件后缀名

 php中一行代码获取文件后缀名的方法要结合很多的函数了,我们这个有点像asp中的函数了,下面来一起看看吧. 实例: 代码如下   $filename = 'D:/wamp/www/sparkphp/rar'; $rs = strtolower(trim(substr(strrchr($filename, "."), 1))); 详解: strrchr()函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符: substr()函数是返回字符串的一部分,

c++-在C++中,int();这么一行代码表达什么意思?

问题描述 在C++中,int();这么一行代码表达什么意思? 无意中发现的问题,简化了一下,以下代码C++是可以编译运行的,没发现有任何作用.stopStreamCBFun是数据类型,代码中当成函数运行竟然也能正常工作.我又加了一行int();也可以编译运行,当然实际上不管加几行这种代码,用gdb运行b main后总是会跳过这些代码,直接跳到下一行return 0; 也就是说这些代码其实是无效的,这个问题本身没什么用,我只是好奇为什么这样的代码编译能通过,类似的代码在C里面是会提示出错的.欢迎大

弹窗-在js代码中执行到某一行代码中手动暂停,然后在手动启动执行

问题描述 在js代码中执行到某一行代码中手动暂停,然后在手动启动执行 我js代码中执行到某一行代码的时候,我想手动的暂停在某一行代码. 然后在通过手动的方式在启动执行下面的代码. 例如:我想在函数a中调用了函数b,而函数b的作用是弹出窗口,让用户输入信息. 我想获取到弹窗用户输入的信息在a函数中用. 但是现在实现的结果不理想.在执行完b函数弹窗的时候,a函数继续往下执行. 获取不到弹窗的用户输入的信息. 那位大神给个思路... 解决方案 function playVideo(){ player.

请问我把DataGrid中的数据导入到Excel最后打开只有一行代码

问题描述 从datagrid中导入excel代码如下:Response.Clear();Response.Buffer=true;Response.Charset="utf-8";Response.AppendHeader("Content-Disposition","attachment;filename="+Server.UrlEncode(filename));Response.ContentEncoding=System.Text.Enc