
学习笔记
库克船长4864
一个苦苦挣扎,求各位大神能指点下的小学生
展开
-
pugixml输出至string
pugixml处理了半天发现输出至string很不方便,官方文档操作如下:// 这里麻烦的是需要自己定义struct xml_string_writer: pugi::xml_writer { std::string result; virtual void write(const void* data, size_t size) { result.append(static_cast<const char*>(data), size);原创 2022-03-31 00:27:44 · 998 阅读 · 0 评论 -
c++中extern关键字和static的作用域的学习
之前对static修饰变量后作用域的问题一直是大体了解,感觉和普通变量的作用域并没有什么区别。聚个栗子在A.h中:#pragma oncestatic int a=365;class A{public: A(); ~A();};在main.c中:#include<iostream>#include"A.h" using namespace std;...原创 2018-11-30 12:20:23 · 247 阅读 · 0 评论 -
C++类初始化问题的全面解析
类的初始化,用到的会有默认构造函数,带参构造函数和拷贝构造函数。(并不包含赋值函数)如下class A{public: A():x(0),y(0){}; A(int a, int b) :x(a), y(b){}; A(const A &other) { x = other.x; y = other.y; } A &operator=(const A ...原创 2018-12-22 23:17:42 · 357 阅读 · 0 评论 -
CS模型下的服务器高并发,线程和进程实现框架
实现的功能是把客户端发过的字符串转化为大写回写给客户端。多进程server.c#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<ctype.h>#include<arpa/inet.h>#incl...转载 2018-12-30 23:18:18 · 721 阅读 · 0 评论 -
CS模型epoll和线程池实现服务器高并发
使用信号量对主线程和线程处理函数进行线程同步,当线程处理函数读取完套接字的数据后通知信号量解除主线程的阻塞,开始处理下一个事件。 定义结构体dealinfo用来传送文件描述符和字符串地址。 注意一点,不能在线程处理函数中关闭不需要的文件描述符。不然会发生惊群现象 "threadpool.h"头文件是用来实现线程池的 服务器实现的功能是把客户端发来的字符串转大写#include<s...原创 2019-01-04 18:03:09 · 686 阅读 · 0 评论 -
Shell脚本调试方法
Shell提供了一些用于调试脚本的选项,如:-n 读一遍脚本中的命令但不执行,用于检查脚本中的语法错误。-x 提供跟踪执行信息,将执行的每一条命令和结果依次打印出来。-v 一边执行脚本,一边将执行过的脚本命令打印到标准错误输出(我理解的应该是为了达到无缓冲的目的)。 关于-x的使用方法:(指的三选一,并不是说比如在方法1中传入-x参数,才可以使用方法3)1.在命令行提供参数...原创 2019-01-09 12:48:02 · 591 阅读 · 0 评论 -
C++智能指针shared_ptr、unique_ptr和weak_ptr
引言: 在C++中,常使用动态内存,一般情况下常使用new申请,delete释放。常见的三种情况有:程序不知道自己需要使用多少对象 程序不知道所需对象的准确类型 程序需要在多个对象间共享数据(申请的动态内存不会随着指针作用域的结束而自动释放)new分三步执行:1.调用malloc申请动态内存;2.调用传入类型的构造函数;3.判断是否有异常并将其抛出。delete原理相似例...原创 2019-01-16 20:46:36 · 463 阅读 · 0 评论