除了尝试运行代码之外,没有其他方法可以告诉您。
“位数”仅表示您所针对的操作系统和体系结构,我还想强调一个事实,即每个支持 C++ 程序的操作系统都有自己的标准 C++ 库的实现(如果您使用的是 std 库)并且作为编码器,您只是使用属于 std 库的标头和命名空间,并且您依赖于操作系统通常随附的 C/C++ 库来实际运行您的代码。
我还建议依靠测试部分,将内存的使用保持在最低限度,有些操作系统也有一些防溢出技术或类似的东西,所以有些操作系统会把你的大量分配视为对系统稳定性的威胁,大量使用 RAM 还涉及到内存控制器的重要作用,就像 X86 架构中的正常情况一样,通常您尝试做的不是一件好事,结果很糟糕,或者最终以真正特定的机器和操作系统作为您的您尝试创建的此应用程序最喜欢的目标。
最后,您正在尝试编写 C 代码而不是 C++ 代码!
malloc()
是来自 C 世界的一个函数,还涉及直接内存管理,如直接分配和取消分配,你的硬件也必须执行很多,我的意思是,很多间接的大约 8 亿个结构。
我建议切换到一个真正的 C++ 结构,比如 std 向量(比性能列表更好),或者只是切换到一种具有自己的垃圾收集器并且没有像 C# 或 Java 这样的直接内存管理阶段的语言。
您的问题的答案是否定的,同样从务实的角度来看,您将面临优化代码的一个大问题,而且我可能会说,使用 C++ 或 C# 或 Java 等不同的语言,您的生活会更轻松,但是请记住,垃圾收集器通常需要大量内存,在您的情况下,最好的解决方案可能是 C++,您需要付出一些额外的努力和测试阶段。