- 博客(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_DGRAM int bind ();//作为服务器,必须将地址信息和sockfd进行绑定 int recvfrom (); //接收任意一个客户端的数据 int sendto (); //给一个客户端发送数据 int close(); 客户端(主动) int socket ()...
2020-05-04 13:54:48 394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人