长整数与 C++ 中的字符串? [关闭]
Posted
技术标签:
【中文标题】长整数与 C++ 中的字符串? [关闭]【英文标题】:Long int vs a string in C++? [closed] 【发布时间】:2020-10-19 11:38:04 【问题描述】:在我的研究中,我偶然发现没有上限
对于string
。我们可以输入任意数量的字符或整数。
如果是这样,那么为什么我们有long int
?
我们可以简单地使用string
并使用stoi
函数将其转换为int
或long 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++ 中的字符串? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章