C++
文章平均质量分 75
C++11语法糖
与玛格丽特的午后
Attention should be focus farther down the road.
展开
-
Google C++代码规范 一万字笔记超详细
命名约定通用命名规则函数命名, 变量命名, 文件命名要有描述性; 少用缩写尽可能使用描述性的命名, 别心疼空间, 毕竟相比之下让代码易于新读者理解更重要. 不要用只有项目开发者能理解的缩写, 也不要通过砍掉几个字母来缩写单词int price_count_reader; // 无缩写int num_errors; // "num" 是一个常见的写法int num_dns_connections; // 人人都知道 "DNS" 是什么int n;原创 2021-07-07 23:05:41 · 314 阅读 · 2 评论 -
C++内存模型之虚函数表
概述实现多态,C++使用了一种动态绑定的技术,这个技术的核心是“虚函数表”类的虚函数表每个包含虚函数的类都包含一个虚函数表虚函数表是一个指针数组,其元素是虚函数的指针,每个元素对应一个虚函数的函数指针虚函数表内的元素,即虚函数指针的赋值发生在编译器的编译阶段,虚函数表就可以构造出来了虚函数表指针虚函数表是属于类的,而不是属于某个具体的对象,一个类只需要一个虚函数表即可,同一个类的所有对象都使用同一个虚函数表对象内部包含一个虚函数表的指针,来指向自己所使用的虚函数表(*原创 2021-07-07 19:32:29 · 151 阅读 · 0 评论 -
C++实现半同步半异步线程池
一、介绍线程池技术通过在系统中预先创建一定数量的线程,当任务请求到来时从线程池中分配一个预先粗航舰的线程去处理任务,线程在处理完任务之后还可以重用,不会销毁,而是等待下次任务的到来 优势1.避免大量的线程创建和销毁动作2.对于多个CPU,提高并行处理的效率3.每个线程独立阻塞,可以防止主线程被阻塞而使主流程被阻塞 架构同步服务层: 处理来自上层的任务请求,上层的请求可能是并发的,这些请求不是马上就会被处理排队层: 上层的任务请求都会加到排队层中等待处理异步服务层: 会有多个线程同时处理原创 2021-07-07 17:14:50 · 129 阅读 · 0 评论 -
C++11高级语法糖笔记
C++11std::function和bind绑定器可调用对象是一个函数指针是一个具有operator()成员函数的类对象(仿函数)是一个可被转换为函数指针的类对象是一个类成员(函数)指针可调用对象包装器std::funtion头文件<functional>可以容纳除了类成员(函数)指针之外的所有可调用对象可以用统一的方式处理函数、函数对象、函数指针,并允许保存和延迟执行它们function比普通函数指针更灵活和便利std::bind绑定器头文件<fun原创 2021-04-28 22:54:50 · 116 阅读 · 0 评论 -
C++作业学生信息管理系统(链表)
学生信息管理系统(链表)#include <iostream>#include <iomanip>#include <string.h>using namespace std;struct Student // 建立学生信息结构体 { char number[20]; char name[10]; float english; float math; float chinese; float average; Student *next; //原创 2020-06-18 08:54:51 · 3780 阅读 · 1 评论