学习复数类CComplex
学习复数类CComplexC++运算符重载:使对象的运算表现和编译器内置类型一样123456template <typename T>T sum(T a, T b){ return a + b;}//如果T为对象,无法相加,需要重载运算符 a.operator+(b) 复数类1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162class CComplex{ public: //CComplex();CComplex(1)给左边;CComplex(1,1);这三个都成立 CComplex(int r=0,int i=0) :mreal(r),mimag(i) //初始化列表 { } //指导编译器怎么做CComplex类的加法运算 CComplex operator+(const...
相关快捷键
vscode在资源管理器中进行查询 vscode 查找文件名 ctrl + P 查询cpu核数 123cmdwmiccpu get NumberOfCores ubuntu中打开终端CTRL+ALT+T nano清空一行 ctrl k 如何在github上用vscode看源码:> .在线vscode:仓库详情界面按下“。”键 在线运行项目 在项目地址前加上gitpod.io/#/前缀 登陆: 加载: 运行 vscode打开终端 ctrl+shift+`
数据结构面试
数据结构算法算法的定义解决特定问题步骤的描述形式有:伪代码,文字描述 算法的基本特征 输入输出 有穷性 确定性 可行性 算法要求 正确性 可读性 健壮性 递归递归的本质:自己调用自己 系统栈的作用 保存上下文 传递参数 保存临时变量 栈帧 递归与动态规划 为什么需要改动态规划?存在重复计算,利用缓存 什么是贪心算法?迪杰斯特拉算法:每次选择最小的路径 哈希函数MD5 SHA 单向性不可逆 碰撞约束相同输入,输出要相同不同输入,允许碰撞,但要足够小 分布均匀 hash应用找一个大文件中相同的两行文件一个2T文件,计算机的内存256MB通过hash,每行进行映射,相同行的输出相同 排序 稳定性: 鸡毛插龟壳 鸡:基数排序 毛:冒泡排序插: 插入排序 龟: 归并排序 nlogn的时间复杂度: 快排,归并,堆排序 o(nlogn)不一定比o(n)快,看常数项上面是基于比较的,下面不基于比较 对全国年龄排序 计数排序0-100岁...
C++STL向量容量vector代码
C++STL向量容量vector代码容器: SeqStack Queue vectorlast是最后一个元素,end是最后一个空间123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596template <typename T>class vector{ public: vector(int size=10) { _first = new T[size]; _last = _first; _end = _first + size; } ~vector() { delete [] _first; _first =...
全面掌握const
const123456789int main(){int a=10;a=20; //a为左值,可被修改const int b=20;b=30; //这里会报错,const被初始化后不能被修改} c中 123456789101112void main(){const int a=20; //const 修饰的量,可以不初始化//不叫常量,叫常变量//int array[a]={}; 这里想要初始化一个全0,长度为a的数组//int a=10; int array[a];这会报错//因为a是个变量int *p=(int*)&a; //int *p=&a,破坏了a的常量性//(int*)把a从常量强转了,因此可以,即p是指向a的指针*p=30;printf("%d %d %d\n",a,*p,*(&a)); //30,30,30}c++的const必须初始化,是常量,不是变量12345678910int main(){const int a=20;int...
年末小结
2024年年末小结额,想把博客同时部署到github和腾讯云时,才发现出bug了。。。:( :joy:我登录腾讯云一直还是用账号密码登录,我起初没在意,原来只是ssh密钥压根就没设置,但今年没时间了,等明年吧。。。:0 :cry: :sob: 这两天回老家,暂时搞不了,可能要元旦结束才能继续吧。立个小目标,一直保持到过年,要加大对于leetcode和那个傻呗毕设的投入了,服了。。。( 但我不会忘记初心的,狠学C++!!! ) :sunglasses: 剩下好像没啥了,(其实今晚上感慨挺多的,一时提笔忘字)既然没想起来,说明还不是很重要,joy。。。明天还要早起,睡觉! 人真是麻烦的东西,想要吃,又怕胖;想要玩,又想睡;想要摆,又想上进。。。突然想到懒羊羊了,hhh哦我想起来说啥了, 1. 吐槽毕设,高校傻逼玩意,我现在才知道高校里面喜欢搞的深度学习啊,机器视觉啊,除非985、211...
模拟实现string类型代码
模拟实现string类型代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101#include <iostream>#include <string>using namespace std;//自己实现一个字符串对象class String{ public: String(const char* p=nullptr) { if(p!=nullptr) { _pstr=new char[strlen(p)+1]; strcpy(_pstr,p); } else ...
理解容器空间配置器allocator的重要性
理解容器空间配置器allocator的重要性123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117namespace myspace{template <typename T>class vector{ public: vector(int size=10) { _first = new T[size]; _last = _first; _end = _first + size; } ~vector() { ...