gpt4 book ai didi

c++ - 是否可以在 C++ 中不使用堆来创建类 String?

转载 作者:太空宇宙 更新时间:2023-11-04 15:12:08 24 4
gpt4 key购买 nike

我想编写自己的 String 类,它具有类似于 std::string 的接口(interface)。字符串类不得使用动态内存分配。

我需要一个 c-tor:

String(char* ptrToFirstCharInTab, char* ptrToLastElementInTab);

并且应该有包含不同(不知道)元素数量的选项卡,所以我在编译时不知道大小。

在我看来这是不可能的,因为如果我们在编译前不知道数组的大小,我们就不能在没有动态分配的情况下创建它——当然,为 500 个字符创建缓冲区,然后 String 类只能是 500 个,这不是我的期望.

你有什么想法吗?也许有什么方法可以让我缩小以适应缓冲区?感谢您的帮助!

最佳答案

你问:

Do you have any idea? Maybe is any way to create buffor wchich I will shrink to fit?

理论上,是的,您可以。您可以使用预分配的缓冲区作为堆内存。但是,您必须编写自己的代码来管理该缓冲区。可行,但我不推荐。

关于c++ - 是否可以在 C++ 中不使用堆来创建类 String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53418519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com