hexo Butterfly主题vercel页面404:NOT_FOUND
问题描述在使用 Hexo 搭建博客时,在博客中打开文章显示如下图示: 原因:因文件名称中带有 + 符号vercel部署无法定位到文件的位置,导致URL定位出现问题。 解决方法一个篇文章上传分为:(1)文件名称,即如下: (2)文章名称: 即修改文件名称,把c++基础修改为其他名称,再进行上传部署即可完成。
hexo Butterfly主题busuanzi无法统计访客量
问题描述在使用 Hexo 搭建博客时,在博客中集成了站点访问数据量统计插件 busuanzi。在本地启动服务后,统计数据无法加载。 问题分析静态网站是无后台服务支撑的,大多数情况下都需要借助第三方的插件实现相关功能。 具体的原因博主也没有弄清楚。猜测是在本地部署时,未检测到busuanzi插件,或是博客主题(butterfly)中安装新的插件导致无法检测busuanzi插件 解决方法修改主体下的D:\blog\butt\node_modules\hexo-theme-butterfly\ _config.yml(我的目录:D:\blog\butt\ _config.butterfly.yml,可以将主题下的配置文件复制粘贴到根目录下改名为 _config.butterfly.yml),搜索inject,新增如下参数: 1- <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script> 预览效果开启本地server 1h...
hexo Butterfly主题本地搜索功能
安装依赖前往博客根目录,打开cmd命令窗口执行 1npm install hexo-generator-search --save 注入配置 修改站点配置文件_config.yml,添加代码如下: 123456search: path: search.xml field: post content: true format: html limit: 10000 修改主题配置文件修改主体下的D:\blog\butt\node_modules\hexo-theme-butterfly\ _config.yml(我的目录:D:\blog\butt\ _config.butterfly.yml,可以将主题下的配置文件复制粘贴到根目录下改名为 _config.butterfly.yml),搜索search,修改为如下参数 12345678910111213141516171819202122232425search: # 选择:algolia_search / local_search / docsearch # 如果不需要搜索功能,保持为空 use: local_s...
多态
多态的概念多态的分类静态多态:函数重载和运算符重载属于静态多态,复用函数名动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运行阶段确定函数地址 案例:(1)无虚函数 12345678910111213141516171819202122232425262728class Father{ public: void speak() { std::cout << "父亲说话" << std::endl; }};class Son1:public Father{ public: void speak() { std::cout << "儿子1说话" << std::endl; }};//...
友元、运算符重载
友元在程序里,有些私有属性也想让类外特殊的一些函数或者类进行访问 目的:让一个类中私有成员对类外特定函数或者类访问 关键字:friend 友元的三种实现:全局函数做友元、类做友元、成员函数做友元 全局函数做友元1234567891011121314151617181920212223242526class Building{ //告诉编译器goodFriend全局函数是Building类的好朋友,可以访问类中的私有内容 friend void goodFriend(Building * building); public: string m_SittingRoom;//客厅 private: string m_BedRoom;//卧室 public: Building() { this->m_SittingRoom = "客厅"; this->m_BedRoom = "卧室"; ...
内存、引用、静态
内存分区模型内存分区模型 new操作符C++中利用 new 操作符在堆区开辟内存空间用来存放数据堆区开辟的内存,由程序员手动开辟,手动释放,释放利用操作符 delete 1语法: new 数据类型 利用new开辟的空间,会返回该空间的首地址 基本用法: 定义一个person类,名字使用动态字符数组在堆内存保存(RAII模式初接触) 12345678910111213141516171819202122232425262728293031323334353637383940414243#include <iostream>#include <cstring>using namespace std;class Person{ private: char* name; int age; public: Person():name{},age{}{} Person(char* name,int age):age{age}...
面相对象-继承
继承概念继承是一种面向对象编程的重要概念,它允许一个类(称为派生类,父类)继承另一个类(称为基类,子类)的特性和行为。 1234class B : 继承方式 A//A类为父类,B类为子类{ }; 继承方式: 公有继承(public) 私有继承(private) 保护继承(protected) 继承的特点:通过继承,派生类可以获得基类的成员变量和成员函数,并且可以添加自己的新成员变量和成员函数。这样可以实现代码的复用和扩展 继承使用场景:当多个类之间有相同的属性和方法时,可以将这些共同的部分抽取出来,放在一个基类中,然后其他类通过继承基类来复用这些代码。 继承方式权限修饰符及其作用范围权限修饰符:用来限制类中的成员(成员变量、成员方法…)能够被访问的范围。 修饰符 本类里 子孙类 外部类 public √ √ √ protected √ √ private √ 三种继承方式(1)公有继承(public)(2)保护继承(protected)(3)私有继承(private) 1234567891011121314151617181...
c++中关于void函数是否要使用return
在学习c中我是习惯于在void函数里增加return,在学习c++时,看到很多老师在定义类的时,类中的void函数不进行添加return,故而引发思考,是否增加return和不增加return有什么区别? 函数末尾的return;123456789void ethan1() { // 一些代码 return; // 显式返回}void ethan2() { // 一些代码 // 隐式返回(没有return语句)} 在函数末尾时,两者完全等价。编译器会在 void 函数的末尾自动插入一个隐式的 return; 提前返回的情况12345678void ethan1(int value) { if(value > 0) { return;//必须写,用于提前退出 } //正常处理代码 //函数末尾可以省略return} 当需要提前退出函数时,必须使用 return; 总结:根据以上两个案例,在函数的尾部有没有return;都是一...
面相对象-封装
类和对象的关系类和对象类(设计图):是对象共同特征的描述;对象(实例):是真实客观存在的东西。在C++中,必须先设计类,才能获得对象。 如何设计类12345class 类名{ //1、成员变量(代表属性,一般是名词) //2、成员函数(代表行为,一般是动词)}; (1)如何设计手机属性:品牌,价格;功能:打电话,收短信; 1234567struct Phone//结构体默认的成员变量和成员函数是公开的{ string brand; double price; void call(){} void sendMessage(){}}; 12345678class Phone//类的默认的成员变量和成员函数是私有的{ public: string brand; double price; void call(){} void sendMessage(){}}; 创建并使用对象类...
C++基础
C与C++区别 C C++ 语法 过程化的编程语言 具有面向对象范式的编程语言 编程风格 注重过程化的编程风格,主要关注算法和函数的设计 支持面向对象的编程风格,可以使用类、对象和封装等概念进行程序设计 标准库 C标准库相对简单,提供了基本的输入输出、字符串处理等功能 C++标准库比C标准库更加丰富和功能强大,包含了大量的容器、算法和其他常用的功能模块 异常处理 没有内置的异常处理机制,通常使用返回错误码的方式来处理错误 C++支持异常处理机制,可以捕获和处理程序中的异常情况 兼容性 C++是C的超集,也就是说,任何一个符合C语法规则的程序也是一个合法的C++程序。C++可以调用C语言编写的函数,并且可以与C语言的代码共享。 选择 C++相对于C来说更加强大和灵活,适用于更复杂的应用场景。但对于一些简单的、性能要求较高的程序,C语言可能更加适合。选择使用哪种语言,取决于具体的需求和编程的目标。 “helloworld”的编写步骤: .vscode文件夹 launch.json 1234567891011121314151617181920...









