重载 << 运算符 C++ - 指向类的指针

2023-12-30

class logger {
 ....
};

logger& operator<<(logger& log, const std::string& str)
{
    cout << "My Log: " << str << endl;
    return log;
}

logger log;
log << "Lexicon Starting";

工作正常,但我想使用指向类实例的指针。 IE。

logger * log = new log();
log << "Lexicon Starting";

这可能吗?如果是这样,语法是什么?谢谢

编辑:编译器错误是

error: invalid operands of types 'logger*' and 'const char [17]' to binary 'operator<<'

您必须取消引用指向记录器对象的指针,并显然检查它是否不为 0。类似这样的事情应该可以完成这项工作:


  log && ((*log) << "Lexicon starting")

总的来说,我会避免通过指针引用像记录器这样的对象(您通常无条件期望存在),因为指针具有不确定性,又名是否存在对象?

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

重载 << 运算符 C++ - 指向类的指针 的相关文章

随机推荐

  • 在运行时创建 JMS 队列 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在开发一个应用程序 应用程序用户可以在其中创建 删除队列 此外 他还能够将消息从一个队列移动到另一个队列 删除消息 根据某些过滤器重新排列队
  • 处理 UI 上未启动的触摸

    我寻求一种方法来处理不在 Unity 引擎中的 UI 元素上启动的触摸 其目的是在 地图 上进行旋转 平移和放大 以下简称 地图 但是 如果触摸事件发生在任何 UI 元素上 则应由该 UI 元素而不是地图来处理 我认为这样的例子之一就是 G
  • ruby net-sftp 逐行读取文件

    我正在使用 ruby 2 0 0 和 Rails 4 0 0 我有类似的东西 require net sftp sftp Net SFTP start ftp app com username password gt password sf
  • 如何在 gradle 中排除传递项目依赖项

    given dependencies compile project subproject transitive false 这在 gradle 1 3 中无法正常工作 即所有依赖项都包含在子项目中 这是一个错误还是有不同的语法来排除项目
  • 带有 jQ​​uery 的 JavaScript 命名空间

    如何管理依赖于 jQuery 的自定义 JavaScript 库的命名空间 你是否创建自己的命名空间 比如说foo并在那里添加你的对象 例如foo myClass foo myFunction 或者将对象添加到 jQuery 的命名空间中
  • ngOnDestroy 和 $('#element').foundation('destroy');

    我正在尝试在我的 Angular2 应用程序中实现 Sticky Magellan 一旦我离开视图 我想删除该插件 因为否则当我重新访问视图时我会遇到问题 所以我正在使用 ngOnDestroy void element foundatio
  • XQuery 正则表达式可以匹配空字符吗?

    我想从字符串中删除所有 NULL 字符 我知道正确的正则表达式匹配应该是 x00 并且我已经尝试了以下 XQuery replace message x00 它会导致错误 exerr ERROR Conversion from XPath2
  • 从自定义文档属性中的日期获取第二天

    我有包含日期 的自定义文档属性 定义为日期 我试图从自定义文档属性 日期字段 中的日期获取第二天 DOCPROPERTY DateFieldTest 1 d MMMM YYYY toggle DOCPROPERTY Field 07 04
  • C++/CLI 委托作为函数指针 (System.AccessViolationException)

    我一直在尝试使用 C CLI 委托 因为我正在尝试创建 NET 参考库 并且遇到了以下问题 我在 C CLI 中定义一个委托 然后在 C 中创建该委托的实例 然后通过函数指针通过非托管 C 调用该委托的实例 这一切都按预期进行 说明这一点的
  • 调整基本 R 中的绘图标题和副标题

    如何获得基本 R 绘图标题和副标题以模仿 ggplots 我希望所有内容都保持对齐 没有任何粗体 并且副标题位于标题的正下方 我还希望所有东西之间有更多的空间 也许我的换行符 n 黑客 是实现这一目标的最佳方法吗 plot mtcars t
  • 如何更改opentok javascript SDK中的音频输出?

    连接到移动浏览器时 音频始终默认为纯音频扬声器 即靠近耳朵的手机扬声器 我不知道这叫什么 而不是扬声器 如何让它默认使用扬声器并让用户选择使用哪个扬声器 移动 SDK 的文档中有此内容 但在 JavaScript SDK 中 只有音频源有等
  • 使用Linq to对象,如何轻松创建的空字典?

    要创建一个空序列 可以使用以下命令 var empty Enumerable Empty
  • 如何转义 URL 中的哈希字符

    我怎样才能逃脱 URL 的查询字符串中发送的哈希符号 有时称为数字符号或井号 百分比编码 https en wikipedia org wiki Percent encoding 将哈希替换为 23
  • libsandbox 和 pysandbox 的限制功能

    我正在使用sample2 py此处列出https github com openjudge sandbox https github com openjudge sandbox作为调用沙箱库的包装器 又名 libsandbox pysand
  • 如何使用 R Shiny 从数据库填充下拉列表?

    我想用数据库查询的结果填充 R 闪亮应用程序中的下拉列表 I have a global r file where i put this code getData lt function this function returns a si
  • 停止 Android Studio 使用支持库

    我试图让 Android Studio 中的 Android 项目不使用支持库 我的问题是 当我使用片段时 它需要支持片段并导致应用程序崩溃 我的 Min SDK 是 14 我的 Target SDK 是 19 我的理解是 因为我的目标是这
  • Flask + Flask-Security + Babel 不工作

    我已经设置了 Flask Babel Flask Security 像这样创建所有翻译 root main py translations ru LC MESSAGES 消息 mo 消息 po 在 main py 中 有一部分设置语言执行
  • Struts2:全局结果配置错误

    我想使用全局结果 登录 但它仅在配置中没有全局结果的情况下才有效 这是我的配置的相关部分 类别列表 jsp 类别详细信息 jsp WEB INF login jsp 当我启动我的应用程序时 它会抛出此异常 org xml sax SAXPa
  • 如何将文本文件包含到JavaScript中

    有没有办法将另一个文件中的一些文本加载到 javascript 中 而不需要服务器端代码 我正在考虑使用另一个元素来保存一些注释中的文本 但我不知道如何使用 javascript 读取它的源代码 就像是 在 myfile js 中 some
  • 重载 << 运算符 C++ - 指向类的指针

    class logger logger operator lt lt logger log const std string str cout lt lt My Log lt lt str lt lt endl return log log