随笔
记录一些暂时未分类的笔记
Temp Note
Temp Note
argc、argv的具体含义
前缀表达式与后缀表达式问题
c++模板类的声明与实现的分离编译问题
typedef的用法
算法的时间复杂度问题
计算算法的时间复杂度
递归算法的时间复杂度分析
算法的空间复杂度
快速幂算法
递归算法空间复杂度分析
c++内存管理
sizeof()与strlen()以及字节对齐问题
strlen()与sizeof()
有关ios::sync_with_stdio(false);和 cin.tie(nullptr);的介绍与意
面经
argc、argv的具体含义
argc和argv参数在用命令行编译程序时有用。main( int argc, char* argv[], char **env ) 中
第一个参数,int型的argc,为整型,用来统计程序运行时发送给main函数的命令行参数的个数,在VS中默认值为1。
第二个参数,char*型的argv[],为字符串数组,用来存放指向的字符串参数的指针数组,每一个元素指向一个参数。各成员含义如下:
...
hexo搭建个人博客网站
基于hexo+github搭建个人博客网站,使用butterfly主题
网站效果https://juzihhu.github.io/
https://juzihhu.xyz
整个项目文件已经可从百度网盘下载
前期准备github账号与特殊仓库创建repository 命名为{GitHub账户名.github.io}
在浏览器输入GitHub账户名.github.io,出现如下结果则表示成功
安装Node.js注意最好不要使用最新版本,注意版本兼容问题
安装教程可以参考:https://blog.csdn.net/m0_67402096/article/details/126077470
2021最新Node.js官网安装教程,配置环境变量(图文详细)
https://nodejs.org/dist/v4.2.3/node-v4.2.3-x86.msi
https://nodejs.org/dist/v4.2.3/node-v4.2.3-x64.msi
安装git,配置git环境具体可以参考我的这篇博客git与github项目上传与下载
检查安装环境配置打开cmd命 ...
const成员函数
const成员函数const成员函数被声明为const,表明这个函数是不修改调用对象的状态的。这意味着在该成员函数内部,无法修改调用对象,包括不修改成员变量的值,也无法调用其他非const成员函数,这是因为非const成员函数可能会更改对象的状态。
非const成员函数非const成员函数在没有const修饰符的情况下声明。这种成员函数可以更改调用对象的状态,包括修改其成员变量的值,并调用其他非const成员函数。
应用举例当我们在类中重载比较运算符时,通常会使用成员函数来实现。在成员函数中,我们需要将比较运算符重载为类的一个成员函数,其定义形式为:
1bool operator< (const MyClass& other) const;
其中,MyClass是我们需要重载比较运算符的类,other是用于比较的另一个对象,而const关键字表示该成员函数不会修改对象的状态。
使用const关键字的原因是,如果不加上const关键字,那么在使用该成员函数时,如果对象是一个常量对象,那么该函数就不能被调用,因为常量对象不能调用非常量成员函数。而在重载比较运算符时,我们往往 ...
std使用
用std:: 而不是 using namsespace std
原因:全局命名空间中的命名冲突
在C++中,使用std::前缀代码是一种良好的编程习惯,尤其是在大型代码库中。这是为了避免全局命名空间中的命名冲突,这些命名来自于标准库、其他库或用户代码。
举个例子:
12345678Copy code#include <iostream>int main(){ std::string my_string = "Hello World!"; std::cout << my_string << std::endl; return 0;}
在上述代码中,我们使用了标准库中的iostream头文件和string类。如果我们不使用std::前缀,而是使用using namespace std;,则将污染全局命名空间,这样可能会导致命名冲突,例如:
123456789Copy code#include <iostream>using namespace std;int main(){ ...