gpt4 book ai didi

c++ - C++ 字符串和 C 字符串 ( .c_str() ) 之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:08:42 25 4
gpt4 key购买 nike

<分区>

Possible Duplicates: Why does std::string not provide a conversion to const char*? Why doesn't std::string provide implicit conversion to char*?

 case 1 :
void readFile ( const string& inputfile ) {
ifstream in ( inputfile );
}

case 2:
void readFile ( const string& inputfile ) {
ifstream in ( inputfile . c_str() );
}

当然,我知道如何调用ifstream带有必需的参数,但是 C++ 字符串和以 null 结尾的字符序列(C 字符串).c_str() 之间的真正区别是什么?**

我认为自动类型转换应该完成它的工作,即自动将 C++ 字符串转换为 .c_str()。我错了吗?

情况一报错,情况二正常。是否可以通过使用 static_cast<> 将案例 1 转换为案例 2? ?

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