长整数与 C++ 中的字符串? [关闭]

Posted

技术标签:

【中文标题】长整数与 C++ 中的字符串? [关闭]【英文标题】:Long int vs a string in C++? [closed] 【发布时间】:2020-10-19 11:38:04 【问题描述】:

在我的研究中,我偶然发现没有上限 对于string。我们可以输入任意数量的字符或整数。 如果是这样,那么为什么我们有long int? 我们可以简单地使用string 并使用stoi 函数将其转换为intlong int,不应该是这样吗?

【问题讨论】:

你会使用std::string,这不是原始类型,但正是你需要的。 你是指一长串字符还是一串长字符? 您需要定义“长字符串”的含义,因为这不是编程中的常用术语 在询问 C++ 时请不要添加 C 标签,除非对两种语言之间的交互或差异有疑问。也不需要长整数标签,因为问题与此无关,即使它提到了它们。 没有原始类型字符串,长或短适用于原始类型。你认为字符串是什么? 【参考方案1】:

我们有什么数据类型可以用来增加字符串的长度吗?

就像我们有 long long int, long double,

不,我们没有。首先,我们甚至没有一个独特的内置字符串数据类型。字符串只是char 的数组。并且数组通常可以与内存一样大,因此对于其他类型可能超出的字符串长度没有实际限制。

【讨论】:

如果您使用 x86 32 位,您的应用程序很可能限制为 2 GiB (Windows) 或 3 GiB (Linux),即使您的系统安装了 12 GiB 并且操作系统可以访问所有这些,感谢 PAE。 32 位 x86 系统并不少见。你的说法对于 8086 也是错误的,但我认为这个系统不再常见了。 @12431234123412341234123 取决于您认为“内存”的含义。在 C++ 程序的上下文中,我认为没有理由假设它意味着进程可用内存以外的任何东西。 @12431234123412341234123 考虑到英特尔在运行了 20 年后于 22 年前停止了它,我认为这是一个安全的赌注“不常见”是轻描淡写的。

以上是关于长整数与 C++ 中的字符串? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C++ 中将大数字符串转换为整数?

如何在 C++ 中读取由空格分隔的字符串? [关闭]

在数字中的特定数字处查找数字[关闭]

降低在 C++ 中比较单个字符串中的两个字符的时间复杂度 [关闭]

替换长json字符串中的新行符号[关闭]

c++ mysql查询字符串解析带引号和变量