|
|
1
18
看起来,在为64位目标编译时,大小t被定义为64位。这是有意义的,因为大小t用于各种对象的大小,而不仅仅是字符串。 |
|
|
2
8
在64位应用程序中,绝对可以创建5GB字符串。 规范并不是为了阻止你做傻事。 即使不需要它,也不值得改变strlen的规范,不再仅仅使用一个大小来使返回值为4而不是8字节。 |
|
|
3
7
下面是一个图表,显示了最常见数据模型中一些基本类型的大小:
32位Windows数据模型为ILP32,64位Windows数据模型为LLP64。 |
|
|
4
3
我可以想到几个应用程序,其中一个4GB字符串是不够的(计算生物学,计算机取证是两个巨大的)。不要以为因为你不做别人也不做的事。 |
|
|
5
2
这与是否有人会制作出这样大的字符串无关。按照惯例,指示内存中某个东西所占字节数的所有返回类型都是大小T。 |
|
|
6
1
好吧,1)大小是一个typedef,随体系结构的不同而变化;2)将最大的整数作为返回值是否有意义?为什么是32位?为什么不是16?在你的机器上是64,因为这是最大的字符串长度。 |
|
|
7
0
你可以使用
感谢评论中的评论。
|
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |