gpt4 book ai didi

c++ - cplusplus.com 错了吗?指针和字符串文字

转载 作者:行者123 更新时间:2023-11-30 05:29:28 26 4
gpt4 key购买 nike

this page "Pointers and string literals" section网站说 const char * foo = "hello"; 当我们输出 foo 时它会返回字符串文字的地址,我在家里试过这个,但我得到 "hello ",当我执行 *foo 时,我也得到了 "hello",我的问题是网站有误吗?

enter image description here

最佳答案

下面的代码解释了一切。

const char *foo = "hello";  
cout << static_cast<const void *>(foo) << endl; //result is address of "hello"
cout << foo << endl; //result is "hello"
cout << *foo << endl; // result is 'h'

cout << static_cast<const void *>(foo)调用以下函数。

_Myt& __CLR_OR_THIS_CALL operator<<(const void *_Val)

cout << foo调用以下函数。

template<class _Traits> inline
basic_ostream<char, _Traits>& operator<<(
basic_ostream<char, _Traits>& _Ostr,
const char *_Val)

cout << *foo调用以下函数。

   template<class _Traits> inline
basic_ostream<char, _Traits>& operator<<(
basic_ostream<char, _Traits>& _Ostr, char _Ch)

注意上面调用函数的最后一个参数。
以下截图来自http://www.cplusplus.com/doc/tutorial/pointers/ .内容是正确的,没有错。 enter image description here

关于c++ - cplusplus.com 错了吗?指针和字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36380664/

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