gpt4 book ai didi

c++ - 我应该在 DirectX 中使用 std::string 还是 Windows 数据类型?

转载 作者:可可西里 更新时间:2023-11-01 13:53:43 32 4
gpt4 key购买 nike

我现在一直在从事一个基于 DirectX 的项目,但我正在努力解决一些问题。尽管 DirectX SDK 严重依赖于 Windows 数据类型,例如 LPSTRLPCSTR,...我一直在为自己的类使用 std::string 这很容易使用,但是混合两种处理字符串的方式看起来很奇怪。虽然这是一个模糊的问题,但您有什么建议 - 我应该使用 string 还是使用 Windows 指针来处理不同的字符串类型以保持一定的一致性?

最佳答案

LPSTR 只是 char* 的别名,而 LCPSTRconst char* 的别名,所以你的问题实际上听起来像“我应该使用 C++ 字符串还是 C 字符串?”

嗯,C++ std::string 有一个名为 c_str() 的成员函数(或等效的 data() 函数以实现 STL 兼容性) 返回一个(不可修改的)C 字符串。因此,只要函数接受 LPCTSTR,您就可以提供 c_str() 的输出作为参数。

我建议您尽可能使用 C++ std::string,这样更安全。

关于c++ - 我应该在 DirectX 中使用 std::string 还是 Windows 数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14635199/

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