gpt4 book ai didi

c++ - 如何获得指向 std::string 的第一个元素的指针,即使它是空的

转载 作者:太空狗 更新时间:2023-10-29 20:20:18 28 4
gpt4 key购买 nike

如何获取指向非常量 std::string 的第一个元素的指针,即使它是空的。

我确定字符串的容量大于一,但是,只需使用

&my_string.front()

触发“超出范围的迭代器”断言失败,因为字符串为空。使用成员函数

data()

也不适合,因为我想要一个 char* 类型的指针,而不是 const char*。我想我可以在这里执行 const_cast,但这看起来并不整洁。

有更好的方法吗?

最佳答案

要让 string::data() 返回 char*,不幸的是,您必须升级到 C++17。如果您确实需要对底层数据具有写入权限,则 data() 的 const_cast'ing 结果可能是可行的选择。

关于c++ - 如何获得指向 std::string 的第一个元素的指针,即使它是空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52274217/

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