C/C++
C/C++
gdut17
这个作者很懒,什么都没留下…
展开
-
异步http请求
何为异步http请求首先搞清楚同步异步同步异步是只两个操作流程以上来说的,同步就是做完一件事才能做另一件事,比如对数据库的请求,接收操作,这是两个操作同步就是发送sql语句了,当前进程阻塞等待数据库返回数据,这段时间不能做别的事情。异步就是发送sql语句,当前进程不阻塞,继续执行下面的流程,当数据库返回数据了,通过异步事件通知主进程处理。异步http请求就跟上面的差不多如何用C实现异步http请求?思路:通过epoll管理io事件。每发送一个http请求,将socket fd加入epoll原创 2020-10-15 23:07:00 · 1652 阅读 · 0 评论 -
大端小端
#include <stdio.h>#include <string.h>#include <iostream>#include <WinSock2.h>using namespace std;#pragma comment(lib,"ws2_32.lib")void main(){ //大端小端 char *buf = new char[3]; //char buf[3]={0}; /* 1 字节=8 bit位 unsi..原创 2020-06-14 10:23:08 · 276 阅读 · 0 评论 -
buffer缓冲区类
截取自github部分class CSimpleBuffer{public: CSimpleBuffer(); ~CSimpleBuffer(); //返回buf指针 uchar_t* GetBuffer() { return m_buffer; } //返回缓冲区大小 uint32_t GetAllocSize() { return m_alloc_size; } //返...原创 2020-04-10 10:49:35 · 303 阅读 · 0 评论 -
基于C的socket编程实现linux虚拟机和windows传输文件(图片)
linux服务端g++ linux_socket.cpp -o linuxsock/* linux端读取文件数据 */#include<stdio.h>#include<stdlib.h>#include<sys/socket.h>#include<arpa/inet.h>#include<unistd.h>...原创 2019-10-11 23:23:13 · 418 阅读 · 0 评论 -
workflow框架 wget 实现http请求
类似于go的sync.WaitGroupvar wg sync.WaitGroupwg.Add(num)//启动的协程个数go func{defer wg.Done()…}wg.Wait()/* Copyright (c) 2019 Sogou, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance w原创 2020-10-22 21:05:14 · 711 阅读 · 0 评论 -
析构函数私有
析构函数私有–》只能在堆上定义类对象,不能在栈上析构函数共有–》可以堆栈定义类对象#include <iostream>using namespace std;class alloc{private: ~alloc(){} public: alloc(){ cout<<"alloc"<<endl; } void destroy(){ delete this; }};int main(){ //alloc b;//~alloc不可原创 2020-09-15 16:56:09 · 167 阅读 · 0 评论 -
拷贝构造函数和赋值函数
//拷贝构造函数调用的三种情况//1.用一个类去初始化另一个类 A a; A b(a);//2.类对象作为函数参数传递,void fun(A a);//3.函数的返回值为类对象 A fun(){A a;return a;}#include <stdio.h>#include <string.h>#include <iostream>using namespace std;char* mystrcpy(char *dest,const char*src)原创 2020-08-13 12:43:57 · 143 阅读 · 0 评论 -
模板--数组类
#include <cassert>#include <ctime>#include <iostream>using namespace std;template<typename T>class Array{private: T*list; int size;public: Array(int sz=50); Array(c...原创 2019-12-11 23:12:28 · 117 阅读 · 0 评论 -
基类派生类类型转换以及虚函数
#include <iostream>using namespace std;class A{protected: int a;public: A(){ cout<<"A()"<<endl; } A(int _a):a(_a){ cout<<"A()"<<endl; } ~A(){ cout&...原创 2019-12-11 22:22:13 · 169 阅读 · 0 评论 -
实现复数类
复数类(使用成员函数、友元函数)重载+、-、(前置、后置)++、–、(输入输出)<<、>>、(赋值运算符 =(关系运算符>、==/*复数类(使用成员函数、友元函数)重载+、-、(前置、后置)++、--、(输入输出)<<、>>、(赋值运算符 =(关系运算符>、== */#include <iostrea...原创 2019-12-11 21:57:00 · 215 阅读 · 0 评论 -
C++语言基础_const
#include <iostream>using namespace std;class test{ int v; const int con;//不允许改变public: test(int i,int c):v(i),con(c){ } //常函数 常对象调用常函数 void show()const{ cout<<v<<" "&l...原创 2019-12-11 21:09:03 · 113 阅读 · 0 评论 -
C++语言基础(实现string类)
string类的实现涉及到拷贝构造函数调用的三种情况深拷贝浅拷贝const修饰为常函数重载输出<<重载赋值运算符=重载下标运算符[]/*拷贝构造函数调用的三种情况?1.用一个对象初始另一个对象2.用对象作为实参传递给函数3.函数的返回值为对象,创建临时对象作为返回值深拷贝在计算机中开辟了一块新的内存地址用于存放复制的对象。浅拷贝只是完成数据本身的赋...原创 2019-12-11 14:12:09 · 157 阅读 · 0 评论 -
友元函数,友元类
类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。#include <iostream>#include <string>...原创 2019-10-05 18:56:17 · 426 阅读 · 0 评论