gpt4 book ai didi

c++ - 公共(public)图书馆的 char 或 std::string 数组?

转载 作者:太空狗 更新时间:2023-10-29 23:38:15 24 4
gpt4 key购买 nike

我的问题很简单:
我应该使用 char 数组吗,例如:

char *buf, buf2[MAX_STRING_LENGTH]  

等等,或者我应该在其他程序员可以在他们选择的任何 SO 和编译器上使用它的库中使用 std::string 吗?

考虑性能和便携性...

从我的角度来看,std 字符串更简单并且性能相同,或者差异太小以至于不能不使用 std:string,关于可移植性我不知道。我想因为它是标准的,所以不应该有任何编译器在没有它的情况下编译 C++,至少任何重要的编译器都是如此。

编辑:
该库将在 3 个主要操作系统上编译,理论上,作为 lib 分发

你的想法?

我,

最佳答案

取决于此库将如何与客户端代码结合使用。如果它将动态链接并且您有一组 API 公开给客户端——您最好使用空终止字节字符串(即 char *)及其对应的宽字符。如果您正在谈论在您的代码中使用它们,您当然可以自由使用 std::string。如果它将包含在源代码形式中——std::string 工作正常。

关于c++ - 公共(public)图书馆的 char 或 std::string 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1861541/

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