美文网首页
C++中cout输出字符型指针地址值的方法

C++中cout输出字符型指针地址值的方法

作者: 五秋木 | 来源:发表于2017-10-16 21:27 被阅读0次

先给出通过字符型指针输出字符串的示例代码,如下:

#include <iostream>
using std::cout;
using std::endl;
int main()
{
    const char *pszStr = "this is a string";
    // 输出字符串
    cout << "字符串:" << pszStr << endl;
    // 显然不会输出地址值
    cout << "字符串起始地址值: " << pszStr << endl;
    return 0;
}

对于要使用cout输出字符串指针地址值,我们可能会产生困惑。曾经我们使用C标准库中的printf函数是如此的方便:

#include <stdio.h>
int main()
{
    const char *pszStr = "this is a string";
    // 输出字符串\
    printf("字符串:%s\n", pszStr);
    // 输出地址值
    printf("字符串起始地址值:%p\n", pszStr);
    return 0;
}

兄弟,醒醒吧,咱们要写的是C++代码,不要总是抓着C不放嘛。好了,我们来分析一下,由于C++标准库中I/O类对<<操作符重载,因此在遇到字符型指针时会将其当作字符串名来处理,输出指针所指的字符串。既然这样,那么我们就别让它知道那是字符型指针,所以得用到强制类型转换,不过不是C的那套,我们得用static_cast来实现,把字符串指针转换成无类型指针,这样更规范,如下:

#include <iostream>
using std::cout;
using std::endl;
int main()
{
    const char *pszStr = "this is a string"; 
    // 输出字符串
    cout << "字符串:" << pszStr << endl;            
    // 如我们所愿,输出地址值
    cout << "字符串起始地址值: " << static_cast<const void *>(pszStr) << endl;
    return 0;
}

直接cout << (void *)pszStr好像也可以。

相关文章

  • C++中cout输出字符型指针地址值的方法

    先给出通过字符型指针输出字符串的示例代码,如下: 对于要使用cout输出字符串指针地址值,我们可能会产生困惑。曾经...

  • c++代码入门2

    c++ 中的 标准输入输出 2.c++ 中的标准输入输出(字符类型) 3.c++ 中的无限输入(cin,cout)...

  • 2021-10-20

    macO下C++ delete堆指针并不会真的删除指针的指向地址和改地址中保存的值,仅标记为空闲的内存。 输出

  • 2017.7.26 说明语句

    一、变量定义 cin是输入的意思, 用于接收键盘的输入操作;cout是输出的意思,用于打印字符的操作;c++中ci...

  • C++中字符指针的输出

    ostream类中对运算符<<的重载(void*与char*) 因为之前一直对cout<<输出有着很大的疑惑,例如...

  • c++输出

    c++输出(调整cout输出进制width()函数的使用) 引用c++primer plus 一书 调整cout输...

  • C++ 基础语法

    cin cout C++ 中常使用 cin 、 cout 进行控制台的输入、输出 cin 用的右移运算符 cout...

  • 6-字符指针_删除字符串中的空格_register_指针数组

    字符指针 : 在给字符指针初始化赋值时, 如果赋的值为字符串常量的首元素的地址;则在后面的代码中, 不能通过该指针...

  • C++基础

    一.基本用法 输出: coutcout << "字符串" 输出字符串cout << endl endline,输出...

  • C/C++的指针与数组

    一、指针 1.1、指针与地址 示例: 输出结果: 通过指针修改变量的值: 示例: 输出结果: 如果指针暂时没有所指...

网友评论

      本文标题:C++中cout输出字符型指针地址值的方法

      本文链接:https://www.haomeiwen.com/subject/kollsxtx.html