自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 我是菜鸡:UI、物理仿真系统、自动寻路

别把别把别啊

2022-06-10 17:08:59 490 1

原创 conda配置环境中遇到的一些问题

1.服务器系统盘炸了要重装,发现原conda下的某个环境指向的torch不是conda文件夹里的,经过查询,通过 python -m site -help 获取对应的site.py文件并进行编辑,将USER_BASE、USER_

2022-04-26 11:13:44 2434

原创 31 泛型,partial类,枚举,结构体

泛型:正交性:泛型和其它的编程实体都有正交点,导致泛型对编程的影响广泛而深刻。

2022-04-25 10:13:17 84

原创 30_接口隔离,反射,特性,依赖注入

接口隔离原则:如果存在具有完全覆盖关系的多个接口(胖瘦接口),会出现这多个接口之间不兼容情况,所以使用接口继承方式解决设计失误:把太多的功能包含在一个接口里面● 这就导致实现该接口的类违反了单一职责原则○ 单一职责原则:一个类只做一件(或一组相关的)事● 接口隔离原则是从服务调用者的角度来看接口类型,单一职责原则是从服务提供者的角度来看接口类型● 解决方案就是把胖接口拆成单一的小接口(把本质不同的功能隔离开)显式实现接口:显式实现接口时,只有该实例被作为该接口类型进行转换时才能调用该接口的方

2022-04-22 20:20:36 105

原创 29 接口、依赖反转、单元测试

abstract 中的抽象方法只规定了不能是 private 的,而接口中的“抽象方法”只能是 public 的。这样的成员访问级别就决定了接口的本质:接口是服务消费者和服务提供者之间的契约。既然是契约,那就必须是透明的,对双方都是可见的。接口是纯虚方法,抽象方法稍微具体一些(根据上图轮廓虚线的程度)谁依赖谁,便用箭头指向谁,使用接口时,依赖者画在了下方,箭头方向反转,称为依赖反转(虚函数也有类似效果)单位测试创建用于测试的命名空间namespace watch_learn_CSharp.

2022-04-21 16:25:13 196

原创 28 抽象类与开闭原则

接口有点类似于抽象类(当这个类的方法全部都是 纯虚/抽象 函数)抽象类的函数默认为public abstract使用接口实现时 class Demo_Abstract { public void test() { Demo28_Vehecle demo28_Vehecle = new Demo28_Car(); demo28_Vehecle.Run(); } } abs.

2022-04-19 16:41:11 76

原创 26 多态

Override 重写:含义:永远调用的是实例的最新版本(属性也可以重写)可见:只有对子类可见的父类成员可以重写,具体说就是 protected 和 public。例如子类能继承父类 private 的成员,但无法访问,即不可见、不可重写。class Demo_Polymorphisms { public void test() { Demo29_Vehicle vehicle = new Demo29_RaceCar();

2022-04-19 15:00:08 43

原创 24-26 类的声明、继承、访问和控制

c++中类名不等于定义(可以参考友元模板成员函数的用法,笑)静态构造器用于初始化类的静态成员class 前面没有任何修饰符等于加了 internal。● internal:仅在自身程序集(Assembly)里面可以访问● public:从 Assembly 暴露出去...

2022-04-15 15:48:22 174

原创 20_22 事件详解

事件不会主动发生,而是由对象某些内部逻辑触发的

2022-04-14 11:31:32 115

原创 019 委托

● 委托(delegate)是函数指针的“升级版”○ 示例:C/C++ 中的函数指针● 一切皆地址○ 变量(数据)是以某个地址为起点的一段内存中所存储的值○ 函数(算法)是以某个地址为起点的一段内存中所存储的一组机器语言指令● 直接调用与间接调用○ 直接调用:通过函数名来调用函数,CPU 通过函数名直接获得函数所在地址并开始执行 -> 返回○ 间接调用:通过函数指针来调用函数,CPU 通过读取函数指针存储的值获得函数所在地址并开始执行 -> 返回● Java 中没有与委托相对应的

2022-04-07 21:01:21 36

原创 18 传值、输出、引用、数组、具名、可选参数、扩展方法

引用传参:引用变量放进函数中会改变传入的argument通过以下代码认识到引用变量是否以引用形式传入函数所导致的区别如果打印地址,会发现普通函数只是创建了一个新的引用变量指向同一段地址(副本)而引用参数则代表你用的该变量和实参是同一个家伙所以 new 之后的结果不一样public void test() { int x = 10; ChangeInt(ref x); Demo_18_Student demo_

2022-04-06 20:57:52 61

原创 17_字段、属性、索引器、常量

字段(field)是一种表示与对象或类关联的变量的成员。● 对于实例字段,它初始化的时机是在实例创建时○ 声明实例字段时初始化值与在实例构造器里面初识化实例字段是一样的● 对于静态字段,它初始化的时机是在运行环境加载该数据类型时○ 即静态构造器初始化时○ 声明静态字段时设置初始化值与在静态构造器里面初始化静态字段其实是一样的数据类型被运行环境加载时,它的静态构造器将会被调用,且只被调用一次。什么是属性当你这样写的时候,属性自带一个字段(或者说 自动属性/简略声明)public int P

2022-04-06 19:22:25 84

原创 c++ 使用成员函数作为STL某些函数的判断依据

你很能会遇到这样的错误:sort函数出错,应输入 2 个参数,却提供了 3 个。解决办法是将该成员函数静态化,或直接使用lamda表达式某些尚不清楚原理 囧

2022-03-17 09:58:21 733

原创 185-263 STL

基本概念:容器被分为:序列式容器:每个元素均有固定位置关联式容器:各元素之间没有严格意义上的物理关系,如二叉树算法被分为:质变算法、非质变算法 区别在于运算过程是否会改变区间内元素的内容迭代器:提供一种方法,能够依序访问某个容器的各个元素,而无需暴露该容器的内部表示方式。每个容器都是有自己专属的迭代器迭代器用法类似指针迭代器分类:vector:...

2022-03-10 18:00:03 679

原创 143-185 文件操作、模板

C++文件操作:头文件fstreamofstream、ifstream理解输出输入流的含义,输出给文件(写),文件输入流(度)二进制读写方法:写文件时需要将一切类型强转为 const char*,读文件时需要将被写的对象强转为char*使用ifstream::read将内容读到对应对象使用ofstream::write将对象写到文件...

2022-03-01 19:22:10 328

原创 95-142 类和对象

函数高级:函数的声明和实现只能有其一带有缺省值,看网上说貌似是标准,防止编译和链接时出现歧义占位参数,调用时必须要用相应参数函数重载,函数返回类型无法作为定义函数唯一性的要素...

2022-01-11 11:03:06 92

原创 64-94 内存模型与引用

结构体:初始化方式不同于类,不需要构造函数#include<iostream>#include<string>using namespace std;struct student { string name; int id;};int main() { student zzx = { "zzx",213 };}不知道有什么好解释的,也就全员public吧。...

2021-11-10 11:05:32 403

原创 课程42-63 数组与指针

一维数组:查询指向数组的指针长度是4位,而单纯的数组则是返回被分配连续空间的总长度数组没有分配数值的部分由系统分配初始值冒泡排序二维数组:使用for为指针创建二维数组时,其存入地址并不是连续的(比如行)。不使用指针时,是连续的。函数:值传递与对象传递函数可以声明多次,定义只能有一次因为编译器在编译过程中依次生成对应源文件的可重定位目标文件(.o),每个源文件中调用的函数在链接前都是以符号的形式体现在.o文件中。在编译过程中不会去检查某个函数的形式,因为函数参数是通过寄

2021-11-05 11:16:27 67

原创 安卓遇到的问题

遇到Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug‘ More than one file was found with OS independent path提示时,切到project视窗下,double shift搜索相应的重复文件名,查看对应包下的依赖是否可去除,若可以,删去其中之一...

2021-11-03 15:12:05 64

原创 16-41 运算符、程序流程结构

加减乘除:1.对于整数,除法取整数部分,对于小数除法,除法取精确数值取模运算:小数不允许进行取模运算递增递减(++,--):++a和a++的区别赋值运算符:+=、\=、*=、-= 没啥比较运算符:==、>=、<=、!=、>、< 没啥与非或逻辑运算符:||、&&、! 没啥...

2021-11-01 19:14:36 35

原创 课程1-15 数据类型

常量 用const或define声明标识符名的规则:只能由字母数字下划线组成、区分大小写数据类型:作用是为变量分配合适的内存空间整形:1.在windows longint 和 int表示的范围一样,linux则根据系统是32位还是64位决定long int是4字节还是8字节2.longlongint为8字节3.short和short int表示范围一样4.超出表示范围时,相当于做一个循环,回到另一端的范围,如对应short 32768的输出为-32768(short范围 -327

2021-11-01 16:51:10 102

空空如也

空空如也

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

TA关注的人

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