为什么char数据的地址不显示?

2023-12-09

class Address {
      int i ;
      char b;
      string c;
      public:
           void showMap ( void ) ;
};

void Address :: showMap ( void ) {
            cout << "address of int    :" << &i << endl ;
            cout << "address of char   :" << &b << endl ;
            cout << "address of string :" << &c << endl ;
}

输出是:

         address of int    :  something
         address of char   :     // nothing, blank area, that is nothing displayed
         address of string :  something 

Why?

另一个有趣的事情:如果 int、char、string 是公共的,那么输出是

  ... int    :  something 
  ... char   :   
  ... string :  something_2

something_2 - something始终等于 8。为什么? (不是 9)


当你获取 b 的地址时,你得到char *. operator<<将其解释为 C 字符串,并尝试打印字符序列而不是其地址。

try cout << "address of char :" << (void *) &b << endl反而。

[编辑] 就像 Tomek 评论的那样,在这种情况下使用的更合适的转换是static_cast,这是一个更安全的选择。下面是一个使用它而不是 C 风格转换的版本:

cout << "address of char   :" << static_cast<void *>(&b) << endl;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么char数据的地址不显示? 的相关文章

随机推荐

  • 位运算的实际应用[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 你用位运算来做什么 为什么
  • 检查字符串是否作为其自己的单词出现 - Python

    假设我正在寻找这个词 or 我想要的是检查该单词是否显示为一个单词或另一个单词的子字符串 E g 输入 或 输出 真 输入 对于 输出 假 我想我可以检查前后的字符是否是字母 但是有没有更有效 更简单的方法来做到这一点 谢谢 Edit此外
  • Bootstrap 4:显示两行,后跟“阅读更多”可展开链接

    我正在关注this令人惊奇的指南显示两行文本 并为用户提供 阅读更多 的链接 转换未按预期进行 有人可以指出我在这里做错了什么吗 module font size 1rem line height 1 5 module p collapse
  • Spidermonkey 中的 JSON 序列化

    我在用着python spidermonkey运行 JavaScript 代码 为了将对象 而不仅仅是字符串 传递给 Python 我正在考虑返回 JSON 字符串 这似乎是一个常见问题 所以我想知道 Spidermonkey 或 Spid
  • 将actionListener添加到jCalendar

    如何将 actionListener 添加到使用 netbeans 放置的现有 jCalendar 的 jDayChooser 组件 我只想仅在单击日期按钮时触发事件 因为 jCalendar 中的 propertyChange 甚至会监听
  • Android 不同分辨率的布局

    我希望为各种屏幕分辨率创建各种布局 例如hdpi xhdpi etc 我读了here关于我怎样才能做到这一点 所以我创建了两个目录layout xlarge and layout large in my res目录并放置xml那里的布局 我
  • 受密码保护的 UITextField 上的大写锁定图像

    我正在创建一个需要使用 USB 键盘的应用程序 普通触摸屏键盘已被禁用 不会显示 当用户第一次安装该应用程序时 他们需要创建一个四位数的 Pin 图 Pin 的输入字段受密码保护 每次输入新数字时都会出现点 Pin UITextField
  • 每周/每月查询的 SQL 请求,即使不存在记录

    我正在使用 MySQL 我很难获得每月的计数 包括没有记录的月份 这是我的表 Plays idplay idplayer day 1 26 17 11 2015 2 37 22 12 2015 3 65 24 04 2016 4 12 16
  • 在 PHP 中调整图像大小的智能方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我想知道是否有人可以帮助我
  • 有这样的RTSP Ping吗?

    我目前正在开发一个 WinForm 应用程序 使用 C 中的 RTSP 协议从 IP 摄像机流式传输视频 一切都很好 该应用程序的部分要求包括检查网络摄像机是否在线的功能 因此 我使用 System Net NetworkInformati
  • 《Head First Design Patterns》一书中的接口与接口关联

    这本书首先设计模式将以下 UML 作为观察者模式的示例 这张图中让我印象深刻的是之间的关联关系Subject and Observer接口 据我了解Java接口 它们不能以这种方式实现 Has a 关系 当我查看几页后提供的实现示例时 我发
  • 如何在Python中对嵌套列表的外部和内部子列表进行排序?

    首先 如果这太天真 我深表歉意 我是初学者 我有以下类型的列表列表 我想首先按内部列表的最后一个成员按升序排序 data 1 45 0 2 49 2 3 98 0 4 82 1 5 77 1 6 98 2 我通过使用以下方法来实现此目的 s
  • 具有不同内容的跨路由的通用组件

    我有一个名为Header它存在于所有路线中 而应用程序的其余部分则发生变化 为了实现这一点 我的主要渲染代码如下所示 使用 ES6 render return div div
  • 如何检查用户是否登录

    我创建了一个登录页面 用户必须提供用户名和密码才能访问某些特定资源 他们可以在其中上传图像 或者只是编辑一些有关自己的描述 我的 web config 文件如下所示
  • php:获取ip地址

    我想获取访客的IP地址 你能告诉我什么元素吗 SERVER 我应该使用 SERVER HTTP CLIENT IP SERVER HTTP X FORWARDED FOR or SERVER REMOTE ADDR UPDATE 如果您的客
  • Xcode 4 中的这些图标代表什么?

    我以前从未见过这些 但是文件浏览器中文件名旁边的小 A 和 M 是做什么用的 让我根据SVN的知识猜测一下 A gt 新添加的文件 M gt 修改现有文件
  • 如何在 Titanium JS 中创建带有按钮的标题栏?

    我在用着钛合金构建一个应用程序 我尝试创建一个带有按钮的标题栏 类似于联系人应用程序 如下图所示 该标题的标题位于中间 按钮位于任一站点 我一直在到处寻找一种在钛中做到这一点的方法 但我还没有找到任何东西 文档中似乎没有这个内容 我需要创建
  • 如何在配置单元中保留驼峰式大小写的列名

    选择 12345 作为 EmpId 输出是 empid 值为 12345 有任何线索可以保持与 EmpId 相同的列名吗 不可能 这是 HIVE 元存储的限制 它以全小写形式存储表的模式 Hive 使用此方法来标准化列名称 请参阅表 jav
  • 内部访问修饰符与私有访问修饰符

    两者有什么区别internal and privateC 中的访问修饰符 internal适用于程序集范围 即只能从同一 exe 或 dll 中的代码访问 private适用于类范围 即只能从同一类中的代码访问
  • 为什么char数据的地址不显示?

    class Address int i char b string c public void showMap void void Address showMap void cout lt lt address of int lt lt i