【c++】size_t 和 size_type的区别
2024-08-28 16:37:45
为了使自己的程序有很好的移植性,c++程序员应该尽量使用size_t和size_type而不是int, unsigned
1. size_t是全局定义的类型;size_type是STL类中定义的类型属性,用以保存任意string和vector类对象的长度
2. string::size_type 制类型一般就是unsigned int, 但是不同机器环境长度可能不同 win32 和win64上长度差别;size_type一般也是unsigned int
3. 使用的时候可以参考:
string::size_type a =123;
vector<int>size_type b=234;
size_t b=456;
4. size_t 使用的时候头文件需要 <cstddef> ;size_type 使用的时候需要<string>或者<vector>
5. sizeof(string::size_type)
sizeof(vector<bool>::size_type)
sizeof(vector<char>::size_type)
sizeof(size_t)
上述长度均相等,长度为win32:4 win64:8
6. 二者联系:在用下标访问元素时,vector使用vector::size_type作为下标类型,而数组下标的正确类型则是size_t
最新文章
- 《LoadRunner12七天速成宝典》来了
- C#基础2
- Java用来进行批量文件重命名,批量提取特定类型文件
- SQL Server 2005 数据库复制(转载)
- 2015-09-17 001 日志与对话框公用类_public
- HOWTO: Be more productive
- ";ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效";的快速解决方法
- Codevs 1064 虫食算 2004年NOIP全国联赛提高组
- OC中给我们提供的一个技术:谓词(NSPredicate).note
- Struts2-1.配置&;与第一个应用
- JIRA6.36-7.23数据迁移文档
- C++拷贝构造函数专题
- ZOJ-3933-Team Formation【二分图最佳匹配】【KM】
- hdu 1233 还是畅通project(kruskal求最小生成树)
- 第六章:Python基础の反射与常用模块解密
- Java编程思想(后)
- 传递参数:java代码中形参的改变有没有影响实参?
- 了解一下Ubuntu系统
- Kubernetes 服务入口管理与 Nginx Ingress Controller
- Python3 与 C# 面向对象之~封装