gpt4 book ai didi

c++ - 为什么 std::string 不提供到 const char* 的转换?

转载 作者:IT老高 更新时间:2023-10-28 21:35:34 26 4
gpt4 key购买 nike

这更多是一个政策或历史问题。为什么决定为 std::string 提供 const char * 转换?是否担心有人会执行 printf("%s", s) 并相信它会自动转换?有没有关于这个问题的公开讨论?

最佳答案

自动施法几乎总是邪恶的。如果对 const char * 进行强制转换,std::string 也可能会自动强制转换为其他指针类型,这可能导致难以发现错误。有一个返回 const char *c_str() 方法,所以你仍然可以实现你所需要的。此外,类型转换在逻辑上不正确 - std::string 不等同于 const char *

关于c++ - 为什么 std::string 不提供到 const char* 的转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096210/

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