当前位置: 首页 > 知识库问答 >
问题:

在C++中,最大std::streamsize总是等于std::string max_size()?

毋承基
2023-03-14

此示例代码是否在所有系统上导致两个相等的值?

#include <limits>
#include <iostream>
#include <string>

int main() {
    std::cout << std::numeric_limits<std::streamsize>::max()<< '\n';
    
    std::string example;
    std::cout << example.max_size() << '\n';
}

共有1个答案

赵景曜
2023-03-14

无论在理论上还是在实践中都是绝对不能保证的。例如。在我的机器上,它会打印:

9223372036854775807
4611686018427387903

首先,它是Windows上MSYS2编写的64位GCC 10.2.0。

 类似资料:
  • 问题内容: 我是来自C / STL的相对较新的Java程序员,并且正在寻找具有以下特征的类(据我所了解,C std :: deque具有): O(1)在开头/结尾插入/移除的性能 按索引查找的O(1)性能 是可增长的集合(不需要固定的大小范围) 是否有与此等效的Java?我发现Java 1.6 [ArrayDeque]类具有插入/移除和可增长的特性,但是似乎没有按索引查找的方法,除非调用toArr

  • 问题内容: 是否有与C ++等效的Java Map keySet()? Java 方法返回“此映射中包含的键的设置视图”。 问题答案: 也许以下可能有用: 使用STL兼容序列(例如std :: vector,std :: deque或std :: list)的 make_key_set 函数的重载可以如下所示:

  • 问题内容: 在Java中最接近std :: vector的东西是什么?我的意思是,一个可以将T放入其构造函数中,然后将pushBack和popBack()接收到的类,该类存储在连续内存中(而不是链表)。 谢谢 问题答案: ArrayList 一切都内部存储在数组(“连续内存”)中,尽管操作名称略有不同。 有关Java中的列表实现 和泛型的更多信息 编辑 Helper Method 在他的回答中也提

  • 我最近回答了一个问题,关于当和是指向不同对象/数组的指针时,在C中执行

  • 以下代码片段适用于Visual Studio 2008,但不适用于Visual Studio 2010。 用法 我得到以下错误: 1个 如果用typedef int MyValueType替换typedef STD::tr1::tuple myvalue type,则有效。 提前感谢您。

  • 我有两个用例。 a.我想为两个线程同步对队列的访问。