【发布时间】:2012-01-12 22:15:13
【问题描述】:
string.h 和 cstring 有什么区别?
哪个应该用于 C,哪个用于 C++(如果有的话)?
【问题讨论】:
-
C 和 C++ 不是同一种语言。既然你提到了
cstring,我假设你的意思是 C++ 并删除了C标签。 -
@BrianRoach mm.. 不完全是,我想比较一下,什么标题应该用于哪种语言。
-
这没有意义,因为
cstring不能在 C 中使用。 -
哦哇...谷歌搜索
cstring真的改善了我的夜晚... -
¤ 我认为你在这里得到的所有答案在技术上都是不正确的。不过,我不在乎对他们投反对票。无论如何,[string.h] 将标识符放置在全局命名空间中,也可以将它们放置在标准命名空间中。而 [cstring] 将标识符放置在标准命名空间中,也可以将它们放置在全局命名空间中。你绝对不想要那种 [cstring] 行为,因为代码例如仅使用
strlen可能与一个编译器一起工作,然后无法与另一个编译器一起编译。这是非常不愉快的惊喜。所以对于 C 和 C++,使用更安全的 [string.h]。干杯&hth.,