- 博客(6)
- 收藏
- 关注
原创 c++封装一个复数类 实现+ - 输入输出的重载
#include<iostream>class CComplex{ public: CComplex(int real, int image) :mreal(real), mimage(image) {} const CComplex operator+(int val) { return CComplex(mreal+val,mimage); } const CComplex operator+(co
2020-05-28 11:46:28 563
原创 C++ 运算符重载
运算符重载的机制是不能改变原有运算符的逻辑。前置++(++i)的处理逻辑是本身先相加,再返回本身。比如int a=10;++a=20;编译正确,a的值为20.后置++(i++)的处理逻辑是本身先生成一个临时量,先使用临时量(常量),表达式结束,本身再++。int a=10;a++=20;编译错误,报错:error C2106: “=”: 左操作数必须为左值#include<iostream>class CInt{public: CInt(int val)
2020-05-24 17:39:42 146
原创 C++递归函数来实现统计字符串中第一个空字符前面字符长度
C++递归函数来实现统计字符串中第一个空字符前面字符长度例如:char buf[]={'a','b','c','d','e','f','\0','x','y','z'}; 当输入字符串buff,N=10或者20,期待输出结果是6;当输入N=3或5时,期待输出结果是3或5。代码实现如下:#include <iostream>int mystrlen(char* buf,int N){ if(buf[0]==0||N==0) return 0;//空字符串出现返回0 e
2020-05-17 21:36:12 319
原创 select、poll和epoll的区别 ET模式
区别select :用途是在一定时间内,监听用户感兴趣的文件描述符上的可读、可写、和异常的事件。在32位系统默认情况下,select最多监听1024个描述符。poll :本质上和select没有太大区别,poll是基于链表来存储的,因此没有最大连接数的限制。select和poll每次调用都需要给内核拷贝描述符和事件;select和poll返回后,每次都需要遍历所有描述符找到就绪的描述符,时间...
2020-05-07 21:29:15 329
原创 C++ 函数模板的使用
函数模板 给出一个简单的例子,实现两个数相加,如下:#include<iostream>template<typename T>T Sum(T a,T b) //Sum为模板名{ return a+b;}int main(){ std::cout<<Sum<int>(10,20)<<std::endl;...
2020-05-06 22:03:51 176
原创 UDP协议--网络编程流程
UDP是一种无连接的、不可靠的数据报服务。服务器(被动)int socket ();//第二个参数选用SOCK_DGRAMint bind ();//作为服务器,必须将地址信息和sockfd进行绑定int recvfrom (); //接收任意一个客户端的数据int sendto (); //给一个客户端发送数据int close();客户端(主动)int socket ()...
2020-05-04 13:54:48 394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人