大家想必在很多场景下需要打印输出指针地址。看一下下面的输出:
  
   CObject* pObject = new CObject;
    std::cout << pObject << std ::endl;
 
这样直接打印出指针的pObjedct地址。但是下面的输出
   char* ptr = "abc";
   std::cout << ptr << std ::endl;
直接输出字符串:"abc",这是为什么?稍等片刻。
 
   void* pVoid = ptr;
   std::cout << pVoid << std ::endl;
这样就可以直接输出指针地址。
 
想必疑问为何这样的显现呢?其实都是因为 operator << 重载导致的行为。
std::cout 是 std::ostream 的一个对象而已,在ostream 的实现中,
对字符串指针进行了全局函数重载处理,VS2008中实现原型:
template <class _Traits> 
inline basic_ostream <char , _Traits>& __CLRCALL_OR_CDECL operator <<
( basic_ostream <char , _Traits>& _Ostr ,const char * _Val)
其它打印指针则:ostream 成员函数:_Myt & __CLR_OR_THIS_CALL operator<<( const void * _Val)
CObject* pObject 则隐式转换打印输出指针指向的地址

C++ 打印输出指针的更多相关文章

  1. Linux shell之打印输出

    介绍 经常需要和shell命令打交道,但是一直没有系统的学习,接下来会花1到2个月的时间系统的学习一下shell命令,接下来就开启shell命令的奇妙旅行吧.本章主要介绍shell的打印输出. 知识要 ...

  2. C语言指针5分钟教程

    指针.引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量.在这份教程里“引用”表示计算机内存地址.从指针指向的内 存读取数据称作指针的取值.指针可以指向某些 ...

  3. C语言中 指针、引用和取值

    指针是一个存储计算机内存地址的变量.从指针指向的内存读取数据称作指针的取值.指针可以指向某些具体类型的变量地址,例如int.long和double.指针也可以是void类型.NULL指针和未初始化指针 ...

  4. C++指针初始化总结

    1.字符指针的初始化 在c语言中 "string"保存的就是首个字符所在的地址  所以可以把 字符串常量"string" 赋值给指针 char *p;  &qu ...

  5. C++ RCSP智能指针简单实现与应用

    智能指针的实现代码来源博客:<http://blog.csdn.net/to_be_better/article/details/53570910> 修改:添加 get()函数,用以获得原 ...

  6. 听翁恺老师mooc笔记(4)--指针的应用场景

    指针应用场景一:交换两个变量的值 在学习函数时,交换两个数的值,做一个swap函数,传递值进去,也可以将两个值交换过来,没问题,可是离开swap就没有用了,为什么?因为传进去的是两个值. #inclu ...

  7. C#将结构体和指针互转的方法

    . 功能及位置 将数据从托管对象封送到非托管内存块,属于.NET Framework 类库 命名空间:System.Runtime.InteropServices 程序集:mscorlib(在 msc ...

  8. C和C指针小记(一)-字符输入,函数,ASCII扩展表

    1.连续接收输入字符时 int ch; while(ch != EOF && ch != '\n') ch 为什么被声明为整形,我们不是需要用它来读取字符的嘛? 因为:EOF是一个整形 ...

  9. 【C语言】指针数组

    题目:编写UNIX程序sort的简化版本,该程序按字母顺序对由文本行组成的集合进行排序. 思路:我们引入指针数组处理这种问题.如果待排序的文本行首尾相连地存储在一个长字符数组中,那么每个文本行可通过指 ...

随机推荐

  1. SQLdiag Utility

    使用SQLdiag 会进行信息搜集类型 Windows 系统性能日志 Windows 系统日志 SQL Server 性能信息 SQL Server 阻塞信息 SQL Server 配置信息 如何使用 ...

  2. 用Python作GIS之一:介入STARS

    STARS的全称是Space-Time Analysis of Regional Systems,直译过来就是区域系统时空分析软件.这是针对区域多时相数据的分析包,源代码公开.该软件将最近几年发展起来 ...

  3. Oracle查询出最最近一次的一条记录

    需求:从一个表中查询数据,得到的数据为最新的一条记录. -------------建立测试表 --drop table TB ),dtDate date) -------------插入测试数据 ,' ...

  4. 【转载】MySQL查询阻塞语句

    select r.trx_id waiting_trx_id, r.trx_mysql_thread_Id waiting_thread,        r.trx_query waiting_que ...

  5. Linux磁盘与文件系统管理

    df df(disk free) 功能说明:显示磁盘的相关信息.语 法:df [-ahHiklmPT][--block-size=<区块大小>][-t <文件系统类型>][-x ...

  6. (菜鸟要飞系列)一,基于Asp.Net MVC5的后台管理系统(前言)

    今天真是个郁闷的日子,因为老师两个星期前给我的一个任务,用递归算法将Oracle数据库中用户信息及权限显示在jquery-treeView上,网上虽然有大神写出了这类算法,但是不贴全部代码,真的很难跟 ...

  7. LintCode-Implement Iterator of Binary Search Tree

    Design an iterator over a binary search tree with the following properties: Elements are visited in ...

  8. skrollr 中文教程

    skrollr 0.6.29 skrollr是一个单独的视差滚动的JavaScript库,移动端(Android,iOS,等)和pc都可以使用,压缩后大小仅仅不到12K 使用方法 首先你需要引入skr ...

  9. 【BZOJ】【1532】【POI2005】Kos-Dicing

    网络流/二分法 最大值最小……直接做不太好做的时候就可以用二分+判定来搞. 这题我们就也可以二分最大胜场v,那么怎么来判定呢?首先我们发现:每场比赛要么A赢,要么B赢,这一点跟二分图匹配非常类似,那么 ...

  10. java递归查询方法

    一.需求 项目里要让用户能够设置所选择教材的章课节,以针对章课节提供相应的题目供用户做题. 设计:用户设置了教材后,首次登录,进行章节设置时.默认为用户选择第一章.第一课.第一节. 思路:用户访问页面 ...