社区
C++ 语言
帖子详情
请问:vector
::size_type类型和int型有什么区别?
asst2003
2008-01-11 12:49:32
在VC2005下,vector<string>::size_type被称为:__w64 int
是不是这种类型是64位的"int"型?
...全文
3224
30
打赏
收藏
请问:vector<string>::size_type类型和int型有什么区别?
在VC2005下,vector::size_type被称为:__w64 int 是不是这种类型是64位的"int"型?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gary_19872006
2012-01-28
打赏
举报
回复
vector<string>::size_type 是无符号型的,用于声明vector容器的大小
vector的元素个数肯定是 >= 0的,所以不用int,应该是出于这样的考虑
cscscs1027
2012-01-27
打赏
举报
回复
API实现吧。坐等高人
lirunfa
2012-01-26
打赏
举报
回复
[Quote=引用 7 楼 taodm 的回复:]
区别在于size_type是在各stl现实里可以各不相同的,不该/不可以假设它是啥具体类型。
[/Quote]
++
看热闹不嫌_事大
2012-01-25
打赏
举报
回复
怎么 所谓的面试题 都这样啊 谁面试时 真的碰到这些题了
myj870517
2011-04-20
打赏
举报
回复
复习了。。。
huer0625
2011-04-20
打赏
举报
回复
[Quote=引用 1 楼 hellodan 的回复:]
C/C++ code
#include <iostream>
#include <vector>
#include<string>
using namespace std;
int main()
{
cout<<sizeof(vector<string>::size_type)<<endl;
return 0;
}
//找一下STL源码就知了。
[/Quote]
++1
hastings
2010-12-10
打赏
举报
回复
这坟挖的 - -
龙哥依旧
2010-12-10
打赏
举报
回复
vector::size_type (STL/CLR)
The type of a signed distance between two element.
typedef int size_type;
阳光岛主
2010-12-10
打赏
举报
回复
[Quote=引用 10 楼 rowdzfda 的回复:]
感觉各个库中size_type都不一样,反正我在使用时都会直接先
typedef vector<string>::size_type size_type;
[/Quote]
up..
sabflying
2010-04-18
打赏
举报
回复
__w64是为了保证兼容性,这种和操作系统相关的类型,
不同的操作系统#define的类型不同,
32位系统为int,64位系统为long
tj_swjtu
2010-04-17
打赏
举报
回复
up...........
depositpei
2010-04-15
打赏
举报
回复
[Quote=引用 13 楼 qq775723294 的回复:]
vector<string>::size_type 主要是为了可移植性强吧。。
[/Quote]
C++primer第三版里面有说string中的size_type跟int区别不大,
建议使用size_type是为了代码的移植
zengpingweb
2010-04-15
打赏
举报
回复
可能还不仅仅是u int和int的区别。
楼主去翻下书看看。
qq775723294
2010-04-13
打赏
举报
回复
vector<string>::size_type 主要是为了可移植性强吧。。
herman~~
2010-04-13
打赏
举报
回复
看来是 根据 32位或者64位不同cpu来取决 为w64的长度了
yangyunzhao
2010-04-13
打赏
举报
回复
[Quote=引用 2 楼 asst2003 的回复:]
楼上的程序在VC2005下输出4(我还以为会输出8)和"int"型是一样的,看来用int型代替应该也没有什么问题的把
[/Quote]
单一平台下肯定没有问题。但是如果你的代码在不同平台下呢?比如32/64,比如有的16位机器?
所以还是用vector <string>::size_type好
candeabc123
2010-04-13
打赏
举报
回复
这么老的帖子都被顶出来。兄弟是不是被面试题给难住了?
s79947171
2010-04-13
打赏
举报
回复
[Quote=引用 4 楼 oldmanzhao 的回复:]
size_type 是 unsigned 型的,所以具体使用的时候要避免出现
for (vector <string>::size_type i = 100; i>0; i--)
这样的语句,因为i永远也不会小于0
[/Quote]
up
wangweicmon236
2009-06-12
打赏
举报
回复
vector<Charac>::size_type k=ChacSet.size();
for(vector<Charac>::size_type j=0;j<k;j++){double likehood=0;}
我现在不用iterator,如上这么简单的代码,他也不行,还是同样的结果,一直循环
rowdzfda
2008-01-13
打赏
举报
回复
感觉各个库中size_type都不一样,反正我在使用时都会直接先
typedef vector<string>::size_type size_type;
加载更多回复(10)
C++核心编程
C++核心编程,内容包括:开发环境、数据
类
型
、
string
和
vector
、数组和指针、流程控制、容器、面向对象等。
error: conversion from ‘std::
vector
<
int
>::const_iterator {aka __gnu_cxx::__normal_iterator<const
int
const
vector
作为函数形参时,要使用迭代器,必须用const_iterator,否则编译不通过。 报错如下: error: conversion from ‘std::
vector
<
int
>::const_iterator {aka __gnu_cxx::__normal_iterator<const
int
*, std::
vector
<
int
> >}’ to non-scalar
type
‘std::
vector
<
int
>::iterator {
std::
vector
string>::
size
_
type
和
int
的
区别
size
_
type
相当于 unsigned
int
类
型
使用
size
_
type
主要是为了适应不同的平台
int
类
型
大小会根据不同平台而不同 所以应该是
size
_
type
好·
vector
<T>::
size
_
type
使用目的
vector
::
size
_
type
使用目的
size
_
type
使用目的 在C++ reference中
vector
中对
size
_
type
的介绍如下: an unsigned
int
egral
type
that can represent any non-negative value of difference_
type
表示无符号最大整数
类
型
的
类
型
。
size
_
type
使用目的
size
_
type
就是当前使用的
vector
的
size
的
类
型
。
vector
中的
vector
.
size
()函数能够获取vec
C++ 使用::std::
vector
<>
摘要: 本文介绍了C++标准库中的容器类
vector
,分析了它的优点,并且建议在应用程序中使用它作为动态数组的优先选择,而不是MFC的CArray<>等其他类模板。最后介绍了
vector
的接口和使用时的注意事项。 在一些使用 MFC 的程序中,经常看到许多程序使用 CArray<>,由于 CArray<>的设计问题,造成使用它的代码的复杂化,增加了维护难度。因此建议使用 ::std::
vector
<> 代替 CArray<>。 另外,也...
C++ 语言
64,680
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章