搜索:C++
Flutter学习笔记一:认识flutter
Fluter是一种开源的UI框架,由Google开发,用于构建跨平台移动应用陈谷,包括IOS、Android、Web和桌面信息。 #### 发展历史 * Flutter由Google在2015年内部开发,2017年首次公开。其目标是提供一种快速、灵活和搞性能的方式来构建美观的跨平台应用程序。 * Flutter使用Dart编程语言,这种语言由Google开发
阅读全文Debian11升级gcc到11.2.0
Debian中的gcc目前版本是10.2.0,对于大多数编译够用,但对于一些新版本的就不够用了,例如clickhouse22 下载并解压 ``` apt install bzip2 wget https://mirrors.aliyun.com/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz tar -zxvf gcc-11.2.0
阅读全文C++并发编程笔记1: 认识并发编程
c++自版本11在语言层面引入多线程。 **软并发** 处理器中任务飞速切换,形成并发的假象。 **硬件并发** 多核多处理器。 单核单处理器上也可以实现多线程,多核多处理器也会实现任务切换。 并发的方式: * 多进程并发:单进程单线程; * 多线程并发:单进程多线程; * 以上两种方式组合。 **多进程并发** 独立进程通过信号、套接字、文件、管道等进程间
阅读全文使用nginx + minio + imageproxy 搭建私有图床
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。 图床的基础是Minio, 但minio并不提供图片缩略和裁剪功能,所以还需要用到Imagepro
阅读全文AC自动机-多模匹配算法C++实现
AC自动机(Aho-Corasick automation), 是一种常用的多模匹配算法,常用于查找一组关键词在某一篇文章是否存在,以及单个词组出现的频率. ### 基础知识 AC自动机可以认为是TrieTree结构+KMP算法. #### TrieTree 即字典树,又叫单词查找树或键树,是一种树状机构,属于哈希树的变种。 TrieTree常被用于统计和排
阅读全文c++可调用对象callable object
对于一个对象或表达式,如果可以对其使用运算符,则称它为可调用的。 包含如下: **普通函数** ``` int int_add(const int a, const int b) { return a + b; } ``` **函数指针** ``` // 定义一个接受两个int参数 返回int的函数指针 typedef int(*compute)(int,
阅读全文C++仿函数
仿函数(Functor)又叫函数对象(Function Object), 这是一个很有趣的编程能力,它来源于编程语言的操作符重载的特性,只要允许操作符重载的语言都可以实现仿函数的特性用法,比如c++,甚至一些本身并不包含函数特性的语言,例如java、c#。 我们知道C++允许很多操作符重载,其中就包含()即函数调用操作符,如果将一个类的()操作符进行重载,在
阅读全文C++中的左值和右值
左值是可以取地址的表达式,右值是不可以取地址的表达式。左值通常代表可修改的西乡,右值代表不可修改的常量或临时对象。 左值有: 变量、数据匀速、结构体成员 右值有: 字面值、字符串字面值、表达式结果。 左值自C就有之, 但自c++11始才引入右值概念,这么做是为了优化代码,提高程序的性能。右值引用可以绑定到一个临时对象上,并且可以将其作为参数传递给函数。通过使
阅读全文