作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
编译 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/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!