自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MakChiKin

Sharing of technical knowledge

  • 博客(246)
  • 收藏
  • 关注

原创 GPT各基础模型的区别

GPT3TextBabbage001:用于文本生成,提供自然语言处理模型、语音合成技术、视觉学习技术以及其它深度学习技术。GPT3DavinciInstructBeta:使用自然语言处理技术和深度学习技术,为用户提供针对性的教育和训练服务。GPT3TextAda001:以人工智能学习为基础,用于文本生成,提供准确、复杂的自然语言处理模型。GPT3TextDavinci001:自然语言处理文本生成模型,提供准确、高效的文本生成性能。GPT3Ada:深度学习技术用于开发高效的企业应用程序、预测和模式识别。

2023-03-25 17:01:03 1121 1

原创 python 单例模式

class MusicPlayer(object): """单例模式""" instance = None flag_init = False def __new__(cls, *args, **kwargs): """单例模式实现""" if cls.instance is None: cls.instance = super().__new__(cls) print("New") .

2022-05-29 16:20:19 303

原创 python 面向对象 私有熟悉和私有方法

class Woman: def __init__(self, name): self.name = name self.__age = 24 # 私有熟悉 def __secret(self): ''' 私有方法 :return: ''' print("%s is %d years old." % (self.name, self.__age))if __name__.

2022-05-28 16:30:47 326

原创 python 面向对象例子(士兵开枪)

1个对象调用加载或调用另外1个对象例子。gun.pyclass Gun: def __init__(self, model): self.model = model self.bullet_count = 0 def add_bullet(self, number): """添加子弹""" self.bullet_count = number def shot(self): self.bul

2022-05-28 16:14:33 690

原创 python 面向对象案例(房子家具)

furniture.pyclass Furniture: def __init__(self, name, area): self.name = name self.area = area def __str__(self): return "%s占用%d平方米" % (self.name, self.area)house.pyimport furnitureclass House: def __init__(.

2022-05-27 00:01:57 525

原创 Anaconda/Miniconda for Mac安装使用

Anaconda(最新)下载地址:Anaconda | Anaconda Distributionhttps://www.anaconda.com/products/distribution#DownloadsAnaconda(历史)下载地址:Index of /https://repo.anaconda.com/archive/Miniconda(所有)下载地址:Miniconda — Conda documentation1. 打开安装包,安装默认点击下一步即可,windows用户需要.

2022-05-26 17:46:46 1658

原创 65 C++ 遍历算法 transform 用于数据搬运

功能描述:搬运容器到另一个容器中函数原型:transform(iterator beg1, iterator end1, iterator beg2, _func); ` beg1 源容器开始迭代器 end1 源容器结束迭代器 beg2 目标容器开始迭代器 _func 函数或者函数对象 #include"transform.h"class Transform{public: int operator()(int val) { return val;...

2021-09-08 23:52:17 225

原创 64 C++ 遍历算法 for_each

for_each遍历算法#include"find.h"// 函数void print01(int val){ cout << val << ",";}// 仿函数class print02{public: void operator()(int val) { cout << val << ","; }};void find_func(){ vector<int> arr; for (int i..

2021-09-07 23:25:55 221

原创 63 C++ 一元谓词/二元谓词

概念:返回bool类型的仿函数称为** 谓词**如果operator()接受一个参数,那么叫做一元谓词如果operator()接受两个参数,那么叫做二元谓词#include"predicate_01.h"// 1.一元谓词struct GreaterFive{ bool operator()(int val) { return val > 5; }};/*添加数组元素@ arr: int数组*/vector<int>& add_el.

2021-09-05 23:01:08 418

原创 05 C语言 static

#include"head_01.h"// 01 static 的隐藏性char a = 'A'; // 全局变量 但如果加了static 只能在本文件使用void msg(){ printf("Hello\n");}void static_func_01(){ extern char a; // extern variable must be declared before use printf("%c ", a); msg();}// 0.

2021-09-05 18:48:19 109

原创 04 C语言 register 寄存器

int main(){ for (int i = 0; i < 10; i++) { register int a = i;// register 是寄存器 当执行完for循环后 a的内存空间会自动释放 printf("a:%i",a); } system("pause"); return 0;}

2021-09-05 17:03:37 243

原创 03 C语言 typedef 重定义类型名称

typedef unsigned int int8;// 重新定义类型的名称int main(){ int8 a = 10u; printf("int8: %i\n",a); system("pause"); return 0;}

2021-09-05 16:48:44 391

原创 02 C语言 全局变量

source.c 定义全局变量global_a#include"head_01.h"int global_a = 10;head.h声明全局变量#pragma once#include<stdio.h>// 声明全局变量extern int global_a;#include"head_01.h"void main(){ // 局部变量重新全局变量 global_a = 0; // 注释掉该句后,直接打印全局变量的值10; printf...

2021-09-05 16:43:39 146

原创 01 C语言 宏的用法

// 宏的基本用法#define num_01(a,b) a+b// 宏的高级用法,## 代表函数名称的拼接#define num_02(funcName,a,b)\int funcName##myAdd(int a, int b)\{\ return a + b;\}// 利用宏高级用法 调用设置函数,函数名为call_num_02(call_,a,b)int main(){ // 调用宏 int c = num_01(1,2); printf("define c: %i.

2021-09-05 16:28:40 104

原创 56_02 C++ 多态实例练习3 组装电脑

案例描述:电脑主要组成部件为 CPU(用于计算),显卡(用于显示),内存条(用于存储) 将每个零件封装出抽象基类,并且提供不同的厂商生产不同的零件,例如Intel厂商和Lenovo厂商 创建电脑类提供让电脑工作的函数,并且调用每个零件工作的接口 测试时组装三台不同的电脑进行工作#include"inherit_10.h"// CPU抽象类class CPU{public: virtual void calculate() = 0;// 虚构函数};// 显卡抽象类...

2021-09-01 15:20:39 365

原创 55 C++ 多态实例2 制作饮料

#include"inherit_08.h"class AbstractDrinking{public: // 烧水 virtual void Boil() = 0; // 冲泡饮料 virtual void Brew() = 0; // 倒入水中 virtual void PourInCup() = 0; // 加入佐料 virtual void PutSomething() = 0; // 规定流程 void make_drink() { Boil(); Br.

2021-09-01 13:37:09 334

原创 56_01 C++ 多态 解决父类指针释放子类对象时,子类指针不能完全释放导致的,内存泄露

#include"inherit_09.h"class AnimalC{public: AnimalC() { cout << "call AnimalC" << endl; } // 方法1:虚构函数 //virtual ~AnimalC() //{ // cout << "call ~AnimalC(虚析构函数)" << endl; //} // 方法2 纯虚析构函数,!!! 除了声明外还需要在外部写函数体 !!!!! .

2021-09-01 13:32:05 1462 1

原创 62 C++ STL容器案例2

公司今天招聘了10个员工(ABCDEFGHIJ),10名员工进入公司之后,需要指派员工在那个部门工作;员工信息有: 姓名 工资组成;部门分为:策划、美术、研发 随机给10名员工分配部门和工资 通过multimap进行信息的插入 key(部门编号) value(员工) 分部门显示员工信息 case_02.h#pragma once#include<iostream>#include<string>#include<vecto...

2021-09-01 10:54:52 142

原创 61 C++ STL容器案例1

案例描述有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。实现步骤创建五名选手,放到vector中 遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打分存到deque容器中 sort算法对deque容器中分数排序,去除最高和最低分 deque容器遍历一遍,累加总分 获取平均分case_01.h#pragma once#include<iostream>#include<string...

2021-08-31 22:51:18 215

原创 60 C++ map容器

map.h#pragma once#include<iostream>#include<string>#include<map>using namespace std;void map_constrcution();void map_insert_del();void map_find_count();void map_compare();map.cpp#include"map_exercise.h"// 输入// 方法1m.

2021-08-31 18:41:43 116

原创 59 C++ set 容器

set.h#pragma once#include<iostream>#include<string>#include<set>using namespace std;void set_construction();void set_size();void set_insert_del();void set_find_count();void set_multiset();void set_pair();void set_compare();

2021-08-31 17:39:45 98

原创 58 C++ list 容器

#include"list_exercise.h"// 写入list<int> input_list(list<int> &lists,int num=5){ for (int i = 0; i < num; i++) { lists.push_back(i); } return lists;}// 读取 方法1void print_list_01(const list<int>& lists)// 为了防止打印过程中修.

2021-08-31 14:08:04 57

原创 57 C++ vector容器的使用方法

#include"vector_exercise.h"// 打印方法1void print_vector_01(vector<int>& arr){ for (vector<int>::iterator i = arr.begin(); i != arr.end(); i++) { cout << *i << " "; } cout << endl;}// 打印方法2void print_vector_02(.

2021-08-30 23:13:48 187

原创 63 C++ 8个容器的类型及特点(string/vector/list/map/set/deque/queue/stack)

1. string基本概念本质:string是C++风格的字符串,而string本质上是一个类string和char * 区别:char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。特点:string 类内部封装了很多成员方法 例如:查找find,拷贝copy,删除delete 替换replace,插入insert string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责总结:find

2021-08-30 14:54:13 1050

原创 54 C++ 多态实例1,计算器

多态满足条件:有继承关系 子类重写父类中的虚函数多态使用:父类指针或引用指向子类对象方法1:使用父类引用(推荐)方法2:使用父类指针#include"inherit_06.h"class AbstractCalculator{public: // 虚函数 virtual int get_result() { return 0; } int num01; int num02;};class Addition :public Abstrac...

2021-08-24 17:14:01 68

原创 53 C++ 虚继承解决菱形继承造成重复数据的问题

#include"inherit_04.h"class Animation{public: int age;};// 菱形继承带来的主要问题是子类继承两份相同的数据,导致资源浪费以及毫无意义// 虚继承可解决菱形继承的问题class Sheep:virtual public Animation{};class Camel:virtual public Animation{};class Alpaca :public Sheep,public Camel {};void inher.

2021-08-24 15:59:11 117

原创 52 C++ 继承同名成员处理方式

#include"inherit_03.h"class MyBase{public: MyBase() { a = 10; b = 11; } static void funcA() { cout << "Base - static void funcA():" << endl; } static void funcB(int b) { cout << "Base - static void funcA(int b):" <.

2021-08-24 14:58:48 56

原创 51 C++ 继承方式

#include"inherit_02.h"class Base{public: int a;protected: int b;private: int c;};// 公共继承class ChildrenA :public Base{ void writer() { a = 10;// 公共权限 b = 10;// 保护权限 //c = 10;// c是私有函数所以无法赋值 }};//保护继承class ChildrenB :protec...

2021-08-22 14:25:36 63

原创 50 C++ 重载调用函数运算符

函数调用运算符 () 也可以重载; 由于重载后使用的方式非常像函数的调用,因此称为仿函数; 仿函数没有固定写法,非常灵活;#include"cf_18.h"class MyPrint{public: // 重载函数调用运算符 string operator()(string input_text) { cout << input_text << endl; return input_text; }};class MyAdd{public:

2021-08-21 16:28:13 68

原创 49 C++ 重载关系运算符

作用:重载关系运算符,可以让两个自定义类型对象进行对比操作#include"cf_17.h"class PersonP{public: PersonP(string name ,int age) { this->name = name; this->age = age; } // 重载关系运算符 bool operator ==(const PersonP& p) { if (p.name == this->name &&.

2021-08-21 16:04:45 61

原创 48 C++ 重载赋值运算符

如果类中有属性指向堆区,做赋值操作时也会出现重复析构导致异常报错的问题,需要深拷贝来解决;#include"cf_16.h"class PersonO{public: PersonO(); ~PersonO(); PersonO(int input_age) { // 创建了堆区 this->age = new int(input_age); } // 重载赋值运算符实现深拷贝 PersonO& operator=(const PersonO& .

2021-08-21 15:45:44 73

原创 47 C++ 重载左移运算符

作用:可以输出自定义数据类型#include"cf_15.h"class PersonN{ friend ostream& operator <<(ostream& out, PersonN& p);public: PersonN() {} PersonN(int a, int b); ~PersonN() {} int A;private: int B;};PersonN::PersonN(int a, int b){ th.

2021-08-20 23:50:00 95

原创 46 C++ 加号运算符重载

作用:实现两个自定义数据类型相加的运算#include"cf_14.h"class PersonM{public: PersonM() {} PersonM(int a, int b) { this->A = a; this->B = b; } // 方法1:成员函数实现加号运算符重载 PersonM operator + (const PersonM&p) { PersonM temp; temp.A = this->A + p.A.

2021-08-20 23:02:58 283

原创 45 C++ 友元

在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术友元的目的就是让一个函数或者类 访问另一个类中私有成员友元的关键字为 friend友元的三种实现 全局函数做友元 类做友元 成员函数做友元 #include"cf_13.h"class Home;class VisitorsA;class VisitorsB{public: VisitorsB(); ~VisitorsB() {} void visit02()

2021-08-20 17:52:33 50

原创 44 C++ const修饰成员函数和对象

常函数: 成员函数后加const后我们称为这个函数为常函数 常函数内不可以修改成员属性 成员属性声明时加关键字mutable后,在常函数中依然可以修改 常对象: 声明对象前加const称该对象为常对象 常对象只能调用常函数 #include"cf_12.h"class PersonL{public: PersonL() { a = 0; b = 0; } ~PersonL() {}; int a; mutable i...

2021-08-19 19:53:58 96

原创 43 C++ 空指针访问成员函数

C++中空指针也是可以调用成员函数的,但是也要注意有没有用到this指针如果用到this指针,需要加以判断保证代码的健壮性#include"cf_11.h"class PersonK{public: void showClassPerson() { cout << "i am the class of Person " << endl; } void showPerson() { //判断是否为空指针 if (this ==...

2021-08-19 18:19:53 62

原创 42 C++ this指针

c++通过提供特殊的对象指针,this指针,解决上述问题。this指针指向被调用的成员函数所属的对象this指针是隐含每一个非静态成员函数内的一种指针this指针不需要定义,直接使用即可this指针的用途: 当形参和成员变量同名时,可用this指针来区分 在类的非静态成员函数中返回对象本身,可使用return *this #include"cf_10.h"class PersonJ{public: // 用途一:当形参和成员变量同名时,可用this指针来区分 P

2021-08-19 17:58:50 47

原创 41 C++ 静态成员

静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员静态成员分为静态变量和静态函数静态成员变量所有对象共享同一份数据 在编译阶段分配内存 类内声明,类外初始化#include "cf_08.h"class PersonH{public: static int a;private: static int b;};// 静态变量的特点: 类内声明,类外初始化int PersonH::a = 10;int PersonH::b = 20;voi

2021-08-19 14:32:26 63

原创 39 C++ struct和class的区别

在C++中 struct和class唯一的区别就在于 默认的访问权限不同区别: struct 默认权限为公共 class 默认权限为私有 class C1{ int m_A; //默认是私有权限};struct S1{ int m_A; //默认是公共权限};int main() { C1 c1; c1.m_A = 10; //错误,访问权限是私有 S1 s1; s1.m_A = 10; //正确,访问权限是公共 system("pause"

2021-08-07 17:09:07 59

原创 38 C++ 类的3中权限

类三种权限:公共权限 public 类内可以访问 类外可以访问保护权限 protected 类内可以访问 类外不可以访问 子类可以访问父类的保护内容私有权限 private 类内可以访问 类外不可以访问 子类不可访问父类的私有内容...

2021-08-07 17:07:49 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除