![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 73
大余里
Love life, Love world!
展开
-
C++中不允许被重载的操作符
该运算符的含义是执行exp2和exp3中的一个,假设重载了,就不可以保证执行一个还是两个,还是都没执行,该运算符的跳转性质就不复存在了。根据重载的规则,如果重载该运算符,就赋予了新的语义,可能会出现混淆。“.”运算符的含义是引用对象成员,然而被重载后就不能保证了,导致运算符意义的混淆。重载的部分规则:运算函数的参数至少有一个必须是类的对象或者是类的对象的引用。假设可以重载,我们可以假设一种情况,创建一个对象,调用该对象的函数。5. 类成员的重载函数,其形参隐含一个默认的this指针。转载 2022-11-22 14:15:20 · 1264 阅读 · 1 评论 -
重载单目运算符以及重载运算符的注意事项
入参和返回值根据单目运算符的特性进行选择,导图只是一个通用形式,明白意思就行。2)只能放在前面的运算符:!+(正号) -(负号)& ~ ()1)可以放在前面,也可以放在后面的单目,如:++ --重载单目运算符方法有两种: 类成员重载以及友元函数重载。3)只能放到后面的运算符:* ->原创 2022-11-22 10:46:56 · 1224 阅读 · 0 评论 -
力荐的C++库和开源框架
(1)ACE庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。http://www.cs.wustl.edu/~schmidt/ACE.html(2)AsioAsio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。开源、免费,支持跨平台。Asio C++ Library(3)POCOPOCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、线程同步、文件系统访问、流操作、转载 2022-03-19 14:17:12 · 2406 阅读 · 1 评论 -
do{...}while(0)的用法,超详解
零.导引第一次见到 do{...}while(0)是在学习libevent的时候,看到里面有很多类似 #define TT_URI(want) do { \ char *ret = evhttp_uri_join(uri, url_tmp, sizeof(url_tmp)); \ tt_want(ret != NULL); \ tt_want(ret == url_tmp); \ if (strcmp(ret,want) != 0) \转载 2021-11-09 20:39:25 · 359 阅读 · 0 评论