理解类模板
理解类模板12345678910111213141516171819202122232425262728//T是模板类型参数,size是非模板类型参数(都是const),必须是整形类(包括地址与引用)template<typename T,int SIZE>void sort(T *arr) //函数模板{ for(int i=0;i<SIZE-1;i++) { for(int j=0;j<SIZE-1-i;j++) { if(arr[j]>arr[j+1]) { int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } }}int main(){ int...
理解函数模板
理解函数模板函数模板的意义:对类型也可以参数化int sum(int a, int b) { return a + b;}int 定死函数模板让参数类型可变 函数模板 不进行编译 模板的实例化 在函数调用点编译 模板函数 需要编译 模板类型参数 模板非类型参数 模板的实参推演=>模板根据实参推导函数实例 模板的特例化(专用化) 函数模板、模板的特例化、非模板函数的重载关系 1234567//函数模板,不编译template<typename T> //定义一个模板参数列表bool compare(T a, T b) { //compare是一个函数模板 cout<<"template compare"<<endl; return a > b;} 函数的调用点,编译器用用户指定的类型,从原模版实例化一份函数代码出来即模板函数bool compare(int a, int b){ return a >...
类和对象代码应用实践
类和对象代码应用实践1. string类型 string的成员变量为指针,因此拷贝构造函数和赋值运算符重载函数都得重写。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152class String{public: String(const char *str = nullptr) //普通的构造函数 { if (str != nullptr) { m_data = new char[strlen(str) + 1]; //需要额外的1个字节来存储字符串的终止符 \0 strcpy(m_data, str); //strcpy 逐字符地从源字符串复制到目标字符串,直到遇到终止符 \0(空字符)为止 } else //空字符串 { ...
进程虚拟地址空间划分
进程虚拟地址空间划分*任何编程语言,产生:1. 指令;2. 数据 进程的虚拟地址空间 上面×处,不可访问, nullptr 空指针(0地址)不可访问 .text .rodata(read only) 指令放在这,叫代码段 这是错误的,*p在代码段,read only不能修改 现在有的编译器已经不允许指针直接指向常量字符串了 .data 存放初始化且初始化不为0 .bss 0与未初始化 .heap new,malloc在这分配内存 从上往下 加载共享库 *.dll(win) .so(linux) stack 从下往上 命令行参数和环境变量 ZONE_DMA ZONE_NORMAL ZONE_HIGHMEN 例子1234567891011121314151617181920212223242526#include...
搭建博客二
上瘾了继续搞 本地搜索系统 安装依赖:前往博客根目录,打开cmd命令窗口执行 1npm install hexo-generator-search --save 注入配置 1234search: path: search.xml field: post content: true 主题yml中 123local_search:- enable: false+ enable: true 重新编译运行即可1hexo cl && hexo generate GITHUB Githhub setting email,这个不要勾选 首页中tag,categories等问题参考 Hexo使用攻略-添加分类及标签 - 简书 https://www.cnblogs.com/an-shiguang/p/18269048#_label3_0_1_6 1.打开命令行,进入博客所在文件夹。执行命令1$ hexo new page categories 2.将index.md中添加12type: "tags" ...
记录小米手机刷系统
记录小米手机刷系统手机型号: Redmi Note 11 5g(国外有叫NOTE 11 T)目的:刷个支持google的系统方案1:pixel experience (失败,似乎是因为卡刷包ab分区不成功)方案2:直接刷miui印度版 (失败,卡谷歌验证进不去)方案3:twrp+miui印度版 (成功)(成功原因不明,不确定是找的线刷包跳了谷歌验证,还是twrp在recovery模式跳过谷歌验证) 解锁bl锁用官方工具解bl,等7d 找个rec,找来找去还是twrp注意:redmi是vab,正常刷rec刷不进去! 我反正第一次刷错rec直接成砖了,fastboot都进不去 1fastboot flash boot <recovery_filename>.img 临时把twrp刷进去,用twrp里的安装rec固化rec,以后打开rec都是自己安装的rec了 自己找对应机型的 miui global...
关于include以及多个文件间声明与调用
关于include以及多个文件间声明与调用C++中包含#include存在两种不同的形式,尖括号<>和双引号”” <>只可以访问 系统目录下的头文件(.h) 比如在VS2013中,编译器会直接在\VC\include目录下查找到stdio.h这个文件,这就是编译器的类库目录;在Linux GCC编译环境下,一般为/user/include和/usr/local/include。 #include””:默认从\项目当前目录**查找头文件,所谓项目当前目录,就是项目工程文件(*.vcxproj)所在的目录 如果在项目当前目录下查找失败,再从\项目配置的头文件引用目录**查找头文件,所谓项目配置的引用目录,就是我们在项目工程中设置的头文件引用目录,Windows VS编译环境如下图所示。在Linux...
关于博客图片上传问题
关于hexo+typora博客图片上传问题使用图床 下载picgo https://molunerfinn.com/PicGo/ 这里我选择SM.MS,听说体验更好 注册登录后,找到API TOKEN,生成后放到app里 (在图床设置里,小框的右上角点开) *注意:发现这里由于 sm.ms 图床的域名国内无法访问,sm.ms 官网已经给出解决文案,针对国内 用户添加了备用域名:smms.app 我顺便把github的图床也搞了看看,感觉这种东西都迟早会遇到问题 重新建立一个仓库,生成TOKEN 在typora里, typora里有图片后,右键就可以上传了 我发现github仓库里图片没有目录,继续摸索 typora picgo gitee 按年月日分类上传图片_picgo文件分类上传-CSDN博客 额,能改,但没必要,上传图片已经重命名了,决不是我懒 typora已在网盘里