- 博客(81)
- 资源 (13)
- 收藏
- 关注
原创 ubuntu 安装log4cpp
推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习](C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂)安装过程下载地址:https://sourceforge.net/projects/log4cpp/files/latest/download 解...
2022-04-26 22:32:22 4216
原创 数据库连接池
1.池化技术池化技术能够减少资源对象的创建次数,提高程序的响应性能,特别是在高并发下这种提高更加明显。使用池化技术缓存的资源对象有如下共同特点:1.对象创建时间过长; 2.创建需要大量资源; 3.对象创建后可被重复使用向常见的线程池、内存池、连接池、对象池都具有以上都共同特点。2.什么是数据库连接池定义:连接池是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态对池中的连接进行申请,使用和释放。简单的来说:创建数据库连接是一个很耗时的操作,也容易对数据库造.
2022-04-11 22:49:04 1701
原创 CMAKE的使用(底层依赖makefile)
推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习](C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂)安装cmake3.91.1卸载已经安装的旧版本的CMake(非必须的)apt-get autoremove cmake1.2 文件下载:..
2022-03-21 00:00:27 1521
原创 MakeFile的使用
Makefile 其实只是⼀个指示 make 程序(后⾯简称 make 或有时称之为 make 命令)如何为我们⼯作的命令⽂件,我们说 Makefile 其实是说make软件产品开发在编码阶段最常⻅的⼯作内容⼤致是: 1.开发人员根据概要设计进行编码。 2.开发人员编译所设计的源代码以生成可执行文件。 3.开发人员对软件产品进行测试来验证其功能的正确性。在上⾯的⼏步中,与 Makefile 关系最⼤的是第⼆步,那 Makefile 的好坏对于项...
2022-03-20 17:38:41 857
原创 常用设计模式
1.内存模型:可以看看继承与多态 的内存模型2.模式设计原则:#1:依赖倒置原则高层模块不应该依赖底层模块,二者应该都依赖抽象; 抽象不应该依赖具体实现,具体实现应该依赖抽象; 自动驾驶系统公司是高层,汽车生产厂商是底层,它们不应该相互依赖,一方变动另一方也会跟着变动;而应该抽象一个自动驾驶行业标准,高层和底层都依赖它;这样以来解耦了两方的变动;自动驾驶系统和汽车生产厂都是具体实习,它们都应该依赖自动驾驶行业标准(抽象)#2.开放封闭原则一个类应该对外扩展开放,对修改关闭#...
2022-02-25 00:42:04 516
原创 C++11 常用知识点汇总
C++11 新增的知识点整理总结一:关键词和语法auto:可以根据右值,推到出右值的类型,然后左边变量的类型也就已知了nullptr: 给指针专用(能够区分整数进行区别) #define NULL 0for(Type val : container) { } 遍历容器元素右值引用:move 移动语义函数和forward类型完美转发函数模板的一个新特性:typename... A 表示可变参(类型参数)二、绑定器和函数对象function :函数对象bind:绑...
2022-02-20 19:39:38 590 1
原创 绑定器和函数对象
1.什么时候会用到bind1st 和 bind2nd?bind1st 和bind2nd 都是绑定二元函数对象成一元函数对象greater 和 less 都是二元函数template<typename Container>void showContainer( Container &con ){ typename Container::iterator it = con.begin(); for(; it != con.end(); ++ it)
2022-02-19 17:27:55 493
原创 深入理解掌握智能指针
智能指针的介绍裸指针到底有什么不好,写过一些C++代码的人应该都能知道,比如下面的原因:忘记释放资源,导致资源泄露(常发生内存泄漏问题) 同一资源释放多次,导致释放野指针,程序崩溃 代码的后面写了释放资源的代码,但是由于程序逻辑满足条件,从中间return掉了,导致释放资源的代码未被执行到 代码运行过程中发生异常,随着异常栈展开,导致释放资源的代码未被执行到智能指针,主要体现在用户可以不关注资源的释放,因为智能指针会帮你完全管理资源的释放,它会保证无论程序逻辑怎么跑,正常执行或者产生异常,
2022-02-12 00:27:26 872
原创 STL 6大组件
简介一、标准容器1.顺序容器 :vector、deque、list2.容器适配器:stack、priority_queue3.关联容器 无序关联容器(链式哈希表实现、增删查O(1)):unordered_set、unordered_multiset、unordered_map、unordered_multimap 有关联容器(基于红黑树实现、增删查O(log2n) 2是底数(数的层数,数的高度)):set、multiset、map、multimap二...
2022-02-07 18:26:11 1561
原创 继承与多态
继承的本质和原理继承的本质: 代码复用类和类之间的关系: 组合:a part of ....... 一部分的关系 继承: 一种的关系继承 继承方式 基类的访问限定 派生类的访问限定 外部的访问限定 public public public yes protected protected no private 不可见 no protected public protec...
2022-02-05 00:21:03 683
原创 C++对象运算符重载,容器迭代器
+,++, += 、其他的运算符重载函数差不多,以及输出out,输入 in#include <iostream>using namespace std; /* C++ 运算符重载:使对象的运算表现得和编译器内置类型一样template<typename T>T sum(T a, T b){ return a+ b; //a.+(b)}1.编译器做对象运算的时候,会调用对象的运算符重载函数(优先调用成员方法);如果没有成员方法 就在全局作用域找.
2022-02-02 18:06:07 1580
原创 理解函数和类模板
函数模板模板的意义:对类型也可以进行参数化了int sum(int a ,int b) {return a + b;}函数模板 :是不进行编译的,因为类型还不知道模板的实例化 :函数调用点进行实例化在函数调用点,编译器用用户指定的类型,从原模板实例化一份函数代码出来比如:compare<int>(10,20); 调用它就会实例化以下的函数代码bool compare<int>(int a...
2022-01-25 23:31:57 444
原创 C++类对象详解
类和对象、this指针OOP语言的四大特征是什么?: 抽象 封装/隐藏 继承 多态访问限定符: public 公有的 给外部提供公有方法,来访问私有的属性 private 私有的 不能在类外访问 属性都是私有的 protected 保护的1.类体内实现的方法,自动处理成inline内联函数2.常量字符串是不允许让普通指针接收3.类的内存大小计算:...
2022-01-24 21:11:23 1318
原创 C++ 对象使用优化
对象的生命周期例子1:class Test{ public: Test(int a= 10) :ma(a) { cout << "Test()" <<endl; } ~Test() { cout << "~Test()" <<endl; } Test(const Test
2022-01-23 23:17:15 216
原创 new 和delete
malloc 和 free 是c的库函数例子: 指针 指针类型。 函数。 申请多大的内存 int *p = (int *)malloc(sizeof(int)); 判断是否申请失败 if (p == nullptr) return -1; 给指针赋值 *p =20; 释放指针内存 free(p);new 和 delete 是运算符例子: int *p1 = new int(20);..
2022-01-17 23:23:32 240
原创 C++的左值引用和右值引用
引用和指针的区别:引用是一种更安全的指针。汇编指令层面引用和指针没有任何区别的,只是赋值的时候,引用是使用地址解引用来赋值的1.引用是必须要初始化的,指针可以不初始化2.引用只有一级引用,没有多级引用;指针可以有多级指针int a = 10;int *p = nullptr;//指针int &b = a; //引用*p = 20; //指针修改值b = 30; //引用修改值3.定义一个引用变量,和定义一个指针变量,其汇.
2022-01-17 23:07:32 509
原创 const的用法
C 和 CPP中 const的区别:const的编译方式不同,c中const就是当作一个变量来编译生成指令的。 cpp中所有出现const常量名字的地方,都被常量的初始化替换。main.cc语言中的const不叫常量,他叫常变量const int a = 20;//int array[a] = {} ; //不能给数组定义长度虽然不能直接修改,但是可以通过解引用给指针去修改,比如:int *p = (int *)&a;*p = 30...
2022-01-15 20:19:18 137
原创 函数重载详解
1.C++ 为什么支持函数重载,c语言不支持函数重载 )C++代码产生函数符号的时候,函数名 + 参数列表类型组成的,如一下compare函数里边的打印 )C代码产生函数符号的时候,只有函数名2.函数重载需要注意些什么?3.C++ 和C语言代码之间如何调用bool compare(int a, int b){ cout << "compare_int_int" << endl; return a > b; }...
2022-01-08 20:02:31 436
原创 inline内联函数
inline 内联函数和普通函数的区别:1.inline内联函数:在编译过程中,就没有函数的调用开销了,在函数的调用点直接把函数的代码进行展开处理2.inline 函数不再生成相应的函数符号int sum(int x, int y) //*.o. sum_int_int .text{ return x + y;}int main(){ int a = 10; int b = 20; int ret = sum(a...
2022-01-08 18:17:52 103
原创 函数行参带默认值,以及传值的效率
#include <iostream>using namespace std;int sum(int a = 10, int b = 20){ int temp = 0; temp = a + b; return temp;}int main(){ int a = 10; int b = 20; int ret = sum(a, b); /* mov eax, dword ptr[e...
2022-01-08 15:51:18 294
原创 函数的调用堆栈详细过程
int sum(int a, int b){ int temp = 0; temp = a + b; return temp;}int main(){ int a = 10; int b = 20; int ret = sum(a, b); cout << ret << endl; return 0;}
2022-01-05 23:32:03 264
原创 动态库和静态库
库是什么:1.通过Gcc编译器得到的2.本质: 还是一个文件 这个文件里边就是程序员编写的代码3.为什么要使用库 代码保密 为了部署和分发 100个源文件-》打包成一个库 4.如何使用库 要有动态库/静态库 来自于.c .cpp,里面是若干个函数的实现 需要有头文件声明源文件中实现的函数 有头文件...
2020-06-03 21:09:48 175
原创 创建QT window窗口
打开QT Creator -> 新建项目 ->然后选择application -> QT widgets application填写项目名称class name 可以看出来是类的名称,只要改了类名称其余的都跟着改base class 是选择窗口 :三个窗口基类的区别:1.QMainWindow类提供一个带有菜单条,工具条和一个状态条的主应用程序窗...
2020-04-18 21:38:35 1487
原创 C++ 枚举类型
枚举就是一一列举的意思,在C++语言中枚举类型是一些标识符的集合,从形式上看枚举类型就是用大括号将不同标识符名称放在一起。用枚举类型声明的变量,其变量的值只能取括号内的这些标识符枚举类型的声明枚举类型定义有两种声明形式:(1)枚举类型定义的一般形式enum 枚举类型名 {标识符列表};例如:enum weekday{Sunday,Monday,Tuesday,Thu...
2020-03-29 21:19:58 400
零基础快速入门人工智能机器学习
2018-06-04
去中心化区块链技术大型商城项目开发实战
2018-06-04
打造Node.js全栈开发工程师
2018-05-22
ThinkPHP5.0开发企业站项目实战
2018-05-15
PHP高级Web开发框架Swoole深入解读+实战案例
2018-05-15
1小时快速掌握PHP依赖管理工具composer
2018-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人