重载原始类型的运算符<<。那可能吗?

2024-01-12

嘿。是否可以为原始类型重载operator

std::ostream& operator<<(std::ostream& strm, int & i)
{
   strm << i << std::endl;
   return strm;
}

但它不起作用。我不记得编译器错误消息,但我认为我以任何方式得到了所有错误的运算符重载。 我尝试以这种方式调用上面重载的运算符

int main()
{
   int i = 2;
   std::out<<"Here is an int " << i;

   return 0;
}

但这根本不起作用。也许我无法重载 POD 类型?


正如 zabzonk 所说,标准库提供了 (ostream&, int) 重载,因此您无法定义另一个。

模拟你正在做的事情(尽管它目前的形式完全没有意义:):

class EndlinedInteger {
public:
    EndlinedInteger(int i) : i(i) { }
    friend ostream& operator<<(ostream&, EndlinedInteger const&);
private:
    int i;
};

ostream& operator<<(ostream& out, EndlinedInteger const& ei) {
    out << ei.i << endl;
    return out;
}

int main()
{
   EndlinedInteger i = 2;
   std::cout<<"Here is an int " << i;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重载原始类型的运算符<<。那可能吗? 的相关文章

随机推荐

  • 在单击按钮之前不要对引导表实施过滤器控制

    我提出的问题的后续行动earlier https stackoverflow com questions 64720472 add button on header th to hide and show filter control in
  • 将自定义类型转换注入 .NET 库类

    我想通过C 中的Convert ChangeType实现两个库类之间的转换 我无法改变这两种类型 例如 Guid 和 byte 之间的转换 Guid g new Guid object o1 g byte b byte Convert Ch
  • 在 Laravel 5.x 中组织 trans() 本地化文件的好策略有哪些?

    这是一个关于方法论和建议实践的问题 我知道它并没有严格依附于框架 甚至不是 PHP 答案可能是 这取决于你 但我关心的是最佳实践和方法 因为通常存在针对特定环境的最佳方法 我想知道哪些是最佳实践键命名为了trans 的函数Laravel 5
  • 在 Linux 中禁用网络摄像头自动对焦

    我正在 beagleboard 的嵌入系统中工作 源代码是Python的 但我从OpenCV导入库来进行图像处理 实际上 我使用的是 Logitech c910 网络摄像头 它是一款出色的摄像头 但它具有自动对焦功能 我想知道是否可以从 P
  • FreeRTOS 匈牙利表示法 [重复]

    这个问题在这里已经有答案了 我是 RTOS 和 C 编程的新手 而且我仍在习惯 C 的良好实践 因此 我打开了一个使用 FreeRTOS 的项目 我注意到操作系统文件使用匈牙利表示法 我知道一点符号 但面临一些新的 标准 FreeRTOS
  • 在mongoDB的一个文档中插入多个json文件

    我有个问题 但是如何在一个文档集合中插入许多 json 文件呢 我有一个与 mongoDB 连接的 ruby 脚本 它为每个 ID 产品生成 json 文件 在 mongo 中我应该想要一个像这样的结构 Id document s name
  • 上传php时重命名图像文件

    我有一个用于上传图像的表格 index html 将数据提交到 resizer php 编码如下 索引 html
  • 如何将 dict_values 转换为集合

    我有一个dict包含集合作为每个键的值 例如 key1 8772 9605 key2 10867 10911 10917 key3 11749 11750 key4 14721 19755 21281 现在我想把每个值 即一组int变成一个
  • PHP 会话过期过早

    我遇到一个问题 我的应用程序会话在大约 15 分钟后意外过期 我需要它们在 4 小时后过期 服务器是Centos 5 5 PHP是5 3 2 下面是我的代码 包含在全局标头中
  • 图像大小应该在 img 标签高度/宽度属性中定义还是在 CSS 中定义? [复制]

    这个问题在这里已经有答案了 在中定义图像大小是否更好的编码实践img tag s width and height属性 img src images academia vs business png width 740 height 382
  • PHP MySQL 生成唯一的随机数

    我不明白为什么我的代码不起作用 连接工作正常 其他一切都正常 但是当我尝试生成一个唯一的随机数并从 MySQL 检查该数字是否存在时 它仍然打印出一个随机数 但它不是唯一的 有人可以帮助我吗 这是我的代码 num rand 1 5 sel
  • 如何正确克隆(jQuery)通过 PIE 应用样式的元素?

    我一直在使用 htc的版本PIE http css3pie com在一个新项目 专门针对 IE8 上成功 但是 在尝试克隆应用了 PIE 样式的元素时遇到了麻烦 我有一个 jsfiddle 说明了问题here http jsfiddle n
  • node.js:child_process.exec()的回调函数有没有办法返回进程PID

    Node JS 执行问题 我有一个生成多个进程的程序 我想通过在进程完成时捕获 PID 来记录进程完成的顺序 据我所知 标准回调不包括 PID stdout stderr 和错误 我想避免使用spawn 但看起来我必须这样做 除非任何善良的
  • mysql 连接。我应该在每次事务之前保持它的活动状态还是启动一个新连接?

    我正在第一次尝试 mysql 我对如何处理我的应用程序的连接有疑问 我现在正在做的是打开一个连接并保持它的活动状态 直到我终止我的程序 我时不时地执行一次 mysql ping 并使用 MYSQL OPT RECONNECT 启动连接 另一
  • 如何使用rails中的form_tag方法在params中传递参数

    我正在尝试传递一个参数params tab gt drive 在 car path 方法中使用 form tag 但它在 car path 参数中不可用 这就是我正在尝试的 有点不同的想法 使用 a 不是更好吗 隐藏字段 http api
  • 在这种情况下,“动态声明的字段”是什么意思?

    我对 OOP 和 PHP 还很陌生 我正在使用 IDE PhpStorm 它给了我这个 见下文 关于我参考的警告 width 这是我的代码 我以前从未见过 字段 一词 并且我不完全确定 动态声明字段 这句话的含义 看来这个警告是我今天更新
  • 面向对象设计中的方法

    Q1 在我大学的面向对象建模和设计研究中 他们建议思考对象可以为其方法做什么 以及它对其属性的责任是什么 所有澄清的尝试都导致了进一步的混乱 这往往会生成一个类图 其中包含具有所有操作的参与者和仅保存数据的内部类 这似乎不正确 是否有另一种
  • CFDocument 仍然会截断某些页面上的文本顶部

    当使用 cfdocument 时 我们的某些页面的顶行被切断 使其无法阅读 我知道 7 中有一个错误 据说在 8 中已修复 我们正在使用 8 0 1 195765 但问题仍然存在 我所有的搜索都将我引向 CF7 有人有主意吗
  • Chartjs 在饼图上显示值

    我正在使用 ChartJS 并尝试将数据对象中的数据数组的值添加到图表中 我的意思是 如果数据数组看起来像这样 1 4 5 则相关部分的饼图上将显示该值 因此 在本例中 最大的 饼图切片 应为数字 6 目前 仅当您将鼠标悬停在饼图上时 它才
  • 重载原始类型的运算符<<。那可能吗?

    嘿 是否可以为原始类型重载operator std ostream operator lt lt std ostream strm int i strm lt lt i lt lt std endl return strm 但它不起作用 我