重载<<运算符C - 指向类的指针
发布时间:2020-12-16 06:49:03 所属栏目:百科 来源:网络整理
导读:class logger { ....};logger operator(logger log,const std::string str){ cout "My Log: " str endl; return log;}logger log;log "Lexicon Starting"; 工作正常,但我想使用指向类实例的指针.即 logger * log = new log();log "Lexicon Starting"; 这可能
class logger { .... }; logger& operator<<(logger& log,const std::string& str) { cout << "My Log: " << str << endl; return log; } logger log; log << "Lexicon Starting"; 工作正常,但我想使用指向类实例的指针.即 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") 作为一般情况下,由于你用指针获得的不确定性,我会回避引用像记录器(你通常无条件地期望存在)这样的对象,因为AKA是否存在对象? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- objective-c – 如何禁止Xcode项目中的头文件警告
- c# – 在Rackspace(Mosso)Cloud中托管时检查SSL
- c# – 使用Windows.Web.Http.HttpClient类进行PA
- 如何有效地使用带有React的CSS网格布局?
- c# NPOI 导出23万条记录耗时12秒
- Flex清除缓存(xml,image,swf)
- 系统优化之Dojo优化策略--页面加载机制优化
- ruby-on-rails – 如何在rails 4中使用update_at
- 我应该如何避免在Ruby中导致错误的memoization?
- 关于applicationContext.xml cannot be opened b
热点阅读