gpt4 book ai didi

c++ - Swift - 通过 C API 的 C++ 字符串

转载 作者:行者123 更新时间:2023-11-28 12:24:28 24 4
gpt4 key购买 nike

<分区>

我有 Swift 和 C API 的桥梁

我想做这样的事情:

const char * CApiFunc(){
std::string str = "some_str";

return str.c_str()
}

但这会导致问题,因为 str 已从堆栈中删除并且返回的地址不正确。除了将 std::string 复制到新分配的数组并返回指向该数组的指针之外,还有其他方法吗,如下所示:

const char * CApiFunc2(){
std::string str = "some_str";
char * tmp = new char[str.length() + 1];
memcpy(tmp, str.c_str(), str.length());
tmp[str.length()] = 0;
return tmp;
}

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