草庐IT

七、DockerFile

1.DockerFile介绍dockerfile是用来构建docker镜像的文件!命令参数脚本!构建步骤:1、编写一个dockerfile文件2、dockerbuild构建称为一个镜像3、dockerrun运行镜像4、dockerpush发布镜像(DockerHub、阿里云仓库)但是很多官方镜像都是基础包,很多功能没有,我们通常会自己搭建自己的镜像!官方既然可以制作镜像,那我们也可以!2.DockerFile构建过程基础知识:1、每个保留关键字(指令)都是必须是大写字母2、命令从上到下顺序执行3、#表示注释4、每一个指令都会创建提交一个新的镜像层,并提交!Dockerfile是面向开发的,我们

<七>深入理解new和delete的原理

new,delete运算符int*p=newint;deletep;看一下汇编代码可以看到new和delete运算符其实也是operator运算符重载函数的调用malloc和newmalloc按字节开辟内存new在开辟内存的时候需要指定类型newint[10]malloc返回的是void*而operatornew会帮助转为int*malloc只负责开辟空间,new不仅仅有malloc的功能,可以进行数据的初始化newint(20)newint100;malloc开辟失败返回nullptr指针,new开辟失败是抛出bad_alloc的异常try{int*p=newint;deletep;}cat

<七>深入理解new和delete的原理

new,delete运算符int*p=newint;deletep;看一下汇编代码可以看到new和delete运算符其实也是operator运算符重载函数的调用malloc和newmalloc按字节开辟内存new在开辟内存的时候需要指定类型newint[10]malloc返回的是void*而operatornew会帮助转为int*malloc只负责开辟空间,new不仅仅有malloc的功能,可以进行数据的初始化newint(20)newint100;malloc开辟失败返回nullptr指针,new开辟失败是抛出bad_alloc的异常try{int*p=newint;deletep;}cat

<七>理解多态

理解多态多种多样的形态(静态多态,动态多态)静态多态(编译时期)1:函数重载boolcomparet(int,int);boolcompare(double,double);compare(100,100)->compare_int_int();compare(1.0,2.0)->comapre_double_double();2:模板templateboolcompare(Ta,Tb){returna>b;}compare(20,10);=>int实例化compare(intx,inty);发生在编译时期compare(100.0,50.0);实例化compare(doublex,doubl

<七>理解多态

理解多态多种多样的形态(静态多态,动态多态)静态多态(编译时期)1:函数重载boolcomparet(int,int);boolcompare(double,double);compare(100,100)->compare_int_int();compare(1.0,2.0)->comapre_double_double();2:模板templateboolcompare(Ta,Tb){returna>b;}compare(20,10);=>int实例化compare(intx,inty);发生在编译时期compare(100.0,50.0);实例化compare(doublex,doubl

WPF 截图控件之文字(七)「仿微信」

前言接着上周写的截图控件继续更新添加文字。1.WPF实现截屏「仿微信」2.WPF实现截屏控件之移动(二)「仿微信」3.WPF截图控件之伸缩(三)「仿微信」4.WPF截图控件之绘制方框与椭圆(四)「仿微信」5.WPF截图控件之绘制箭头(五)「仿微信」6.WPF截图控件之绘制箭头禁止越界(六)「仿微信」正文一、接着ScreenCut继续发电。1)添加文字操作只允许在可编辑区域内在添加文字、使用Border嵌套TextBoxBorder需注意:1)当控件的高存放不下内容的时候需要将控件的SetTop设置向上移动,最大不能超过Rect的Top需要监听宽高发生变化SizeChangedTextBox需注

WPF 截图控件之文字(七)「仿微信」

前言接着上周写的截图控件继续更新添加文字。1.WPF实现截屏「仿微信」2.WPF实现截屏控件之移动(二)「仿微信」3.WPF截图控件之伸缩(三)「仿微信」4.WPF截图控件之绘制方框与椭圆(四)「仿微信」5.WPF截图控件之绘制箭头(五)「仿微信」6.WPF截图控件之绘制箭头禁止越界(六)「仿微信」正文一、接着ScreenCut继续发电。1)添加文字操作只允许在可编辑区域内在添加文字、使用Border嵌套TextBoxBorder需注意:1)当控件的高存放不下内容的时候需要将控件的SetTop设置向上移动,最大不能超过Rect的Top需要监听宽高发生变化SizeChangedTextBox需注

<七>lambda表达式实现原理

C++11函数对象的升级版=>lambda表达式函数对象的缺点:使用在泛型算法,参数传递,比较性质/自定义操作优先级队列,需要专门定义出一个类//lambda表达式语法://[捕获外部变量](形参列表)->返回值{操作代码}autofunc1=[]()->void{coutvoid{cout上面等价于templateclassTestLamda{public:TestLamda(){}voidoperator(){coutt1;t1();[]()->void{cout示例2autof2=[](inta,intb)->int{intc=a+b;coutclassTestLamda{public:

<七>lambda表达式实现原理

C++11函数对象的升级版=>lambda表达式函数对象的缺点:使用在泛型算法,参数传递,比较性质/自定义操作优先级队列,需要专门定义出一个类//lambda表达式语法://[捕获外部变量](形参列表)->返回值{操作代码}autofunc1=[]()->void{coutvoid{cout上面等价于templateclassTestLamda{public:TestLamda(){}voidoperator(){coutt1;t1();[]()->void{cout示例2autof2=[](inta,intb)->int{intc=a+b;coutclassTestLamda{public:

【html+css】总结七种垂直水平居中的办法

第一种:定位+calc(固定宽高)html部分:divclass="box1">divclass="inner">div>div>css部分:.box1{width:200px;height:200px;border:1pxsolidblack;position:relative;}.box1.inner{width:100px;height:100px;background-color:red;position:absolute;/*下面这个减号两边要隔开一个空格*/top:calc(50%-50px);left:calc(50%-50px);}运行截图如下:定位加calc()    第二种