size-type相关内容

string::size_type 而不是 int

const std::string::size_type cols = greeting.size() + pad * 2 + 2; 为什么是 string::size_type?int 应该可以工作!它有数字!!! 解决方案 short 也包含数字.签名字符也是如此. 但是这些类型都不能保证足够大来表示任何字符串的大小. string::size_type 保证了这一点.它 ..
发布时间:2022-01-14 14:41:42 C/C++开发

C++中的vector::size_type

这个 C++ 语句是什么意思? vector::size_type x; 而且,这里的作用域运算符 :: 有什么用?换句话说,我们如何用英语阅读这个声明? 例如对于X::x(){...},我们说x()是一个成员函数class X. 解决方案 size_type 是 vector(静态)成员类型/代码>.通常,它是 std::size_t 的 typedef,它本身通常是 unsi ..
发布时间:2021-12-21 13:24:01 C/C++开发

C++ for 循环 - size_type 与 size_t

在C++ Primer 一书的第 (3) 章中,有以下 for 循环将向量中的元素重置为零. for (vector::size_type ix = 0; ix ! = ivec.size(); ++ix)ivec[ix] = 0; 为什么使用 vector::size_type ix = 0?我们不能说 int ix = 0 吗?在第二种形式上使用第一种形式有什么好处? 谢谢. ..
发布时间:2021-12-11 12:19:45 C/C++开发

我真的需要返回 Type::size_type 吗?

我经常有一些类,它们大多只是一些 STL 容器的包装器,如下所示: class Foo {民众:typedef std::vectorvec;typedef Vec::size_type size_type;const Vec&GetVec() { 返回 vec_;}size_type size() { return vec_.size() }私人的:vec_;}; 我不太确定是否返回 siz ..
发布时间:2021-09-11 20:11:47 C/C++开发

具有负操作数的C ++ size_t模运算

因此,模运算可以为您提供三个值: 然后: -7%5 = 3(数学,余数> = 0) -7%5 = -2(C ++) -7%(size_t)5 = 4(C ++) 另一个示例: -7%4 = 1(数学,余数> = 0) -7%4 = -3(C ++) -7%(size_t)4 = 1(C ++) 当左手操作数为正时,这三种方法之间的答案都是相同的 ..
发布时间:2020-07-31 06:01:19 C/C++开发

std :: size_t或std :: vector< Foo> :: size_type?

当我在std::vector(或每个具有随机访问迭代器的容器)上循环时,我使用无符号整数变量i.如果要遵守规范,应该使用std::size_t还是容器本身指定的类型:std::vector::size_type吗? 如果出于可读性原因选择了std::size_t,可以确定std名称空间中每个容器的每个实现都将std::size_t用作size_type吗? 注意:出 ..
发布时间:2020-07-07 04:12:37 C/C++开发

gcc编译器__SIZE_TYPE__

我很好奇gcc编译器预定义的变量 __ SIZE_TYPE __ 。 假设我编码就像下面C语句中的句子一样 typedef __SIZE_TYPE__ size_t; 当我使用另一个不包含gcc的C编译器时,是否有可能发生错误? 所有的C编译器都有变量 __ SIZE_TYPE __ ? 解决方案 是的,只要您使用任何带有双下划线的标识符,就可能发生错误 ..
发布时间:2018-04-21 10:54:23 其他开发

string :: size_type而不是int

const std :: string :: size_type cols = greeting.size()+ pad * 2 + 2; 为什么 string :: size_type ? int 应该工作!它拥有数字!!! 解决方案 正如一个有符号的字符。 但是这些类型都不能保证足够大以表示任何字符串的大小。 string :: size ..
发布时间:2016-10-14 11:44:42 C/C++开发

C ++ for-loop - size_type vs. size_t

在 C ++ Primer 书,第(3)章中,有以下for-loop将向量中的元素重置为零。 for(vector :: size_type ix = 0; ix!= ivec.size(); ++ ix) ivec [ ix] = 0; 为什么使用 vector :: size_type ix = 0 ?我们不能说 int ix = 0 ?在第 ..
发布时间:2016-10-13 09:57:22 C/C++开发

在C ++中的向量< int> :: size_type

这个C ++语句是什么意思? vector :: size_type x; 而且,范围操作符的用法 :: 这里? 例如,对于 X :: x(){...} ,我们说 x()是的成员函数类别X 。 解决方案 size_type 向量 类型的(静态)成员类型。通常,它是 std :: size_t 的 typedef ,其本身通 ..
发布时间:2016-10-11 23:03:27 C/C++开发

'size_t'vs'container :: size_type'

size_t 和 container :: size_type 之间有区别吗? 我理解的是 size_t 更通用,可以用于任何 size_type 。 但是 container :: size_type 是针对特定种类的容器优化的吗? size_type 作为的分类器Allocator :: size_type code>(Allocator是一个模板参数),它为 std :: al ..
发布时间:2016-10-11 21:27:31 C/C++开发

我可以信任的sizeof(为size_t)&LT; = sizeof的(unsigned long int类型)始终是真的吗?

我可以信任的sizeof(为size_t)&LT; = sizeof的(unsigned long int类型)始终是真实的,按C89标准 也就是说,我不会,如果我使用洛斯值unsigned long类型,其中为size_t 预计,反之亦然 解决方案 也许与为size_t 整数类型发生了什么,并在 C89 是它的基本原理文档。阅读本文件的仔细的第3.4.4节: 的sizeof和为siz ..
发布时间:2016-08-24 13:47:32 C/C++

为size_t VS用C ++ INT和/或C

为什么在C ++中的容器,它返回一个 SIZE_TYPE 而非 INT ?如果我们创建自己的结构,应该我们也被鼓励使用 SIZE_TYPE ? 解决方案 在一般情况下,为size_t 应当你正在测量的东西的尺寸使用。这真是奇怪,为size_t 只需要重新0和 SIZE_MAX 字节和 SIZE_MAX 只需要为65,535 ... 从C ++和C标准的其他有趣的约束是: 的size ..
发布时间:2016-08-18 13:00:32 C/C++开发