gpt4 book ai didi

c++ - 为什么 strlen() 返回 64 位整数?我错过了什么吗?

转载 作者:太空狗 更新时间:2023-10-29 23:21:05 24 4
gpt4 key购买 nike

编译 64 位应用程序时,为什么 strlen() 返回一个 64 位整数?我错过了什么吗?

我知道 strlen() 返回一个 size_t 类型,根据定义这不应该改变,但是......为什么 strlen 需要返回一个 64 位整数?

该函数旨在与字符​​串一起使用。话虽如此:

程序员通常会创建数 GB 或数 TB 的字符串吗?如果他们这样做了,他们是否需要一种比搜索 NULL 字符更好的方法来确定字符串长度?

我认为这很荒谬,事实上,也许我们需要一个带有回调的 StrLenAsync() 函数来处理在 40TB 字符串中搜索 NULL 的超长过程。听起来很傻?是的,strlen() 返回一个 64 位整数!

当然,提议的 StrLenAsync() 函数是个笑话。

最佳答案

看起来,在为 64 位目标编译时,size_t 被定义为 64 位。这是有道理的,因为 size_t 用于各种对象的大小,而不仅仅是字符串。

关于c++ - 为什么 strlen() 返回 64 位整数?我错过了什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1126445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com