为什么我看到一些代码使用 CStrings
声明不同。
有些使用这种格式
char a_c_string [];
而其他人使用
CString another_c_string;
有区别吗?我在 CStrings
上找到的所有参考资料都像我在第一个示例中所做的那样声明它,我只在论坛等人们给出示例的地方看到它以其他方式完成。
原文由 user1768079 发布,翻译遵循 CC BY-SA 4.0 许可协议
为什么我看到一些代码使用 CStrings
声明不同。
有些使用这种格式
char a_c_string [];
而其他人使用
CString another_c_string;
有区别吗?我在 CStrings
上找到的所有参考资料都像我在第一个示例中所做的那样声明它,我只在论坛等人们给出示例的地方看到它以其他方式完成。
原文由 user1768079 发布,翻译遵循 CC BY-SA 4.0 许可协议
许多 GUI 框架都有自己的字符串类。例如 QT 有 QString , wxWindows 有 wxString 。在这种情况下,MFC 具有 CString。在 MFC gui 代码的上下文中使用 CString 很方便且有意义,因为那时您已经严重依赖 Visual C++,并且不会设想代码可移植性。我会小心一揽子声明说忽略它,因为它是非标准的——这完全取决于上下文。
原文由 acraig5075 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答2.7k 阅读✓ 已解决
CString
既不是 C 也不是 C++ 类型。 它似乎是微软的一项发明,本质上是std::string
的替代品:我建议忽略它,以便:
(a) 人们知道你在说什么;
(b) 您的代码是可移植的;
© 你正在编写每个人都可以根据全球公认的 ISO C++ 标准合理化的 C++,许多人为了这个明确的目的花了很多很多时间争论(你知道,而不是少数人在 一间公司办公室的 房间)。
它仅在您使用 Microsoft Visual C++ 进行编程时可用,这在很大程度上是有限制的。