gpt4 book ai didi

C++ 将 std::string 传递给指向 C 字符串的指针参数

转载 作者:搜寻专家 更新时间:2023-10-31 00:30:08 26 4
gpt4 key购买 nike

<分区>

我正在使用 SDL 中的一个函数,其中一个参数的类型为 const GLchar* const*,因此为了调用它,我需要传入一个像这样的 C 字符串:

const char *str = "test";
glShaderSource(... , &str, ...);

但是,我有一个要传入的 std::string,执行这样的操作会出错:

std::string str = "test";
glShaderSource(... , &str.c_str(), ...);

我知道我可以简单地创建一个新的 const char* 变量并将 std::string 保存到它,如下所示:

const char *cstr = str.c_str();

但是有什么办法解决这个问题吗?我不喜欢必须创建一个新变量。我尝试使用 lambda,但没有用。

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