21xrx.com
2024-12-22 23:25:55 Sunday
登录
文章检索 我的文章 写文章
如何在C++中输出指针的内容?
2023-06-30 22:35:53 深夜i     --     --
C++ 输出 指针 内容

在C++中,如果要输出指针的内容,可以使用指针解引用运算符(* )。这个运算符可以得到指针所指向的变量的值。下面是一个示例代码:


#include <iostream>

using namespace std;

int main(){

  int num = 100;

 

  int *ptr = &num;

 cout << "指针ptr指向的地址是:" << ptr << endl;

 cout << "指针ptr指向的变量的值是:" << *ptr << endl;

  return 0;

}

在这个示例代码中,定义了一个整型变量num,然后定义了一个指针ptr,将指针指向了变量num的地址。使用cout语句输出了指针ptr所指向的变量的地址和值。其中,指针的地址可以直接输出,而指针所指向变量的值需要使用解引用运算符(* )获取。

除此之外,也可以使用一个较新的特性:std::addressof。虽然不是必须的,但是有些时候,你希望在不解引用的情况下获得指针的原始地址。这就是 std::addressof() 函数的情况:它取一个对象并返回一个指向它的地址。代码示例如下:


#include <iostream>

#include <memory>

using namespace std;

int main(){

  int num = 100;

  int *ptr = &num;

  cout << "指针ptr所指向的地址是:" << std::addressof(ptr) << endl;

  cout << "指针ptr所指向的变量的值是:" << *ptr << endl;

  return 0;

}

总之,在C++中输出指针内容的方法有两种:使用解引用运算符(*)和std::addressof()函数。需要注意的是,当指针指向的内存没有被分配时,解引用运算符(*)可能会导致未定义的行为。因此,在输出指针的内容之前,需要确保指针指向的内存已经被分配。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复