自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++—返回值优化

返回值优化(Return value optimization,缩写为RVO)是C++的一项编译优化技术,即删除保持函数返回值的临时对象。这可能会省略两次复制构造函数。当一个函数返回一个对象实例,一个临时对象将被创建并通过复制构造函数把目标对象复制给这个临时对象。C++标准允许省略这些复制构造函数,从某种程度上可以提高程序的运行效率,对需要分配大量内存的类对象其值复制过程十分友好。如果我们打印一下地址就会发现。构造和析构的是同一个对象实例。

2022-10-19 20:14:38 741 1

原创 分布式系统:数据分区

每一条数据只属于某个特定分区,一个大数据集可以分散在更多的磁盘上,查询负载也随之分布到更多的处理器上

2022-08-30 11:06:10 310

原创 分布式事务:两阶段提交(2PC)

两阶段提交是保证分布式事务原子提交的重要方法

2022-08-30 11:01:39 779

原创 Redis — 主从集群

Redis主从集群

2022-06-23 00:09:20 1918 4

原创 [ C++ ] — 智能指针

一、三种智能指针auto_ptrunique_ptrshared_ptr(auto_ptr是C++98提供的方案,C++11已经将其摒弃,以下只是示例,实际不要使用auto_ptr)使用new和delete管理动态内存常出现的问题:(1)忘记delete内存(2)使用已经释放的对象(3)同一块内存释放两次这三种智能指针模板都定义了类似指针的对象,可以将new获得的地址赋给这种对象。当智能指针过期时,其析构函数将使用delete释放内存(内存被自动释放,无需手动delete)。智能指

2022-02-08 23:32:56 201

原创 [ C++ ] — 内联函数

1、什么是内联函数其定义位于类声明中的函数都将自动成为内联函数也可以使用inline限定符,在类声明之外定义成员函数,使之成为内联函数2、内联函数的作用引入内联函数的目的是为了解决程序中函数调用的效率问题程序在编译器编译的时候,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体进行替换,而对于其他的函数,都是在运行时候才被替代。(注意 编译 和 运行 的区别)3、优点及注意事项优点:当函数体比较小的时候, 内联该函数可以令目标代码更加高效. 对于存取函数以及其它函数体比较短, 性能

2021-12-15 16:34:26 1112

原创 [ C++ ] — 转换构造函数

当一个构造函数只有一个参数,而且该参数又不是本类的const引用时,这种构造函数称为转换构造函数,例如,class Box {public: Box(int val) { //转换构造函数 cout << "转换构造函数"; }};一个构造函数接收一个不同于其类类型的形参,可以视为将其形参转换成类的一个对象,例如,int main(){ Box a = 23; //隐式调用,由于强制类型转换,23先被Box的转换构造函数构造成Test对象

2021-12-14 21:40:44 367

原创 [ C++ ] — 拷贝构造函数(复制构造函数)

拷贝构造函数拷贝构造函数就是用 同一类型的对象复制成员值来初始化对象(当出现类的 “=” 赋值时,就会调用拷贝构造函数)简单来说,拷贝构造函数就是来复制对象的如果类中没有定义拷贝构造函数,编译器会自行定义一个。如果类成员都是简单类型(如标量值),则编译器生成的复制构造函数已足够,无需定义自己的类型。如果类需要更复杂的初始化,则需要实现自定义复制构造函数。例如,如果类成员是指针,则需要定义复制构造函数以分配新内存,并复制另一个对象中的值。classname(const classname&am

2021-12-14 18:59:52 6073 1

原创 [ C++ ] — 函数指针

一、函数名就是函数的地址void func(void) { }int main(){ cout << func << endl; return 0; }输出:00D2142E二、函数指针1、声明一般来说,声明指针时必须指定确定指向的类型,函数指针也是如此。当声明函数指针时,需要指定指向的函数类型,包括:返回类型参数列表double (*fp)(int); //返回类型为double,参数为int类型也可以用typ

2021-12-14 12:34:52 319

原创 [ C++ ] — typedef

typedef可以给各种类型(基本类型、数组、函数、函数指针、类、模板…)起别名Tips : 需要注意数组和函数指针的定义方法1、基本数据类型重命名数据类型typedef int INT, * P_INTtypedef int INT, * P_INTcout << typeid(INT).name() << endl;cout << typeid(P_INT).name() << endl;输出:intint *此时,int被重命

2021-12-14 09:57:04 349

原创 [ C++ ] — 结构体和共用体

一、C++中的结构体1、声明声明的过程不分配内存struct Box{ char name[10]; double length; double width; double height;};声明的同时实例化,实例化要分配内存struct Box{ char name[10]; double length; double width; double height;} book;2、初始化初始化方式:初始化列表构造函数(1) 初始化列表struct Box{

2021-12-13 23:05:04 280

原创 VRTK——UI控制(点击按钮)

1、Canvas必须带有VRTK_UICanvas脚本2、LeftControllerScriptAlias/RightControllerScriptAlias必须有VRTK_ControllerEventsVRTK_Pointer(+VRTK_StraightPointerRender)、VRTK_UIPointer

2020-11-01 21:01:08 1891

原创 C#学习笔记(六)---静态方法和静态变量

静态成员用static修饰符声明的成员注:静态成员属于类所有,不需要预先创建类的实例就能访问。因为static成员在创建实例之前就已经被创建了。访问:类名.静态成员,而不是 对象名.静态成员。(静态成员是从类的级别访问的而不是从实例的级别访问的。)静态变量:用static修饰的变量,在实例创建之前就已经为他分配了内存空间。访问:类名.静态变量注:所有类的实例共享一个静态变量的...

2020-02-05 22:58:58 248

原创 python学习笔记(十二)---访问限制

私有变量Python的私有变量表示形式__xx(两道下划线),只有内部可以访问,外部不能访问class Student(object): def __init__(self,name,score): self.__name=name self.__score=score def printName(self): print('name:',self.__name) def p...

2020-02-02 11:52:38 106

原创 python学习笔记(七)---高阶函数(map/reduce、filter、sorted)

函数名就是指向函数的变量>>> abs(-10)10>>> abs=10>>> abs(-10)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'int' object is not call...

2020-01-29 20:52:20 97

原创 python学习笔记(六)---递归函数

递归函数如果一个函数可以在内部自己调用自己,这个函数就是递归函数。举个计算阶乘的栗子n! = 1 x 2 x 3 x … x n,用函数fact(n)表示def fact(n): if n==1: return 1 return n * fact(n - 1)递归函数的优点是定义简单,逻辑清晰。栈溢出:使用递归函数需要注意防止栈溢出。在计算机中,函数调用...

2019-11-19 16:36:06 150

原创 python学习笔记(五)---函数

函数的定义定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。求绝对值的my_abs函数:def my_abs(x): if x >= 0: return x else: return -x如果没有return语句,函数执行完毕后也会返回结果,只是...

2019-11-16 11:03:58 421

原创 python学习笔记(四)---dict和set,python中的四种数据结构总结

dictdict全称dictionary,使用键-值(key-value)存储,具有极快的查找速度。例如>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}>>> d['Michael']95Michael就是key值,95就是他对应的value。dict就是一个“名字”-“成绩”的对照表,直接根据名字查找成...

2019-11-15 16:35:29 148

原创 python学习笔记(三)---循环

Python语言通过缩进来组织代码块,在Python编程中具有相同缩进的代码被自动视为一个代码块,无论进行了几个空格的缩进都是被允许的,只要缩进空格的数量统一。 较为规范的情况下一般使用采用4个空格表示一个缩进。也可以使用一个制表符表示一个缩进(Tab键)。Python的循环有两种,一种是for…in循环,依次把list或tuple中的每个元素迭代出来names = ['Michael', '...

2019-11-15 10:57:54 74

原创 python学习笔记(二)---list和tuple

listlist是一种有序的集合,可以随时添加和删除其中的元素。list列表中的元素可以是数字或者字符串、列表、布尔值…等等所有类型都能放到列表里面。li = [1, 2, "北约", 'beiye', ['ee',[1, 3, 5], 90], True]li[1, 2, '北约', 'beiye', ['ee', [1, 3, 5], 90], True]查看具体的元素>&...

2019-11-14 16:04:41 105

原创 python学习笔记(一)---第一个python程序

1、Windows CMD命令:cd +文件夹名称:进入指定文件夹dir:查看当前目录下的文件2、python的运行在命令行敲入pthon,进入python交互模式,交互模式下的提示符是>>>,然后就可以敲代码。如print(‘hello’) 。在python交互模式下键入exit()退出交互模式。第二种方法是用文本编辑器,如Sublime Text。在文本编辑器...

2019-11-07 20:23:52 135

原创 《C++ Primer Plus》学习随记3---引用变量

int rats;int &amp;amp; rodents=rats;rodents就是一个引用变量,他是rats的别名,指向相同的值和内存单元。int &amp;amp; 是类型名。引用变量必须在声明时将其初始化引用变量一旦与某个变量关联起来,就将一直效忠于它,也就是没法再给引用变量赋其它值。可以把“rodents”理解为指针的形式 int *const rodents=&amp;amp;...

2019-02-03 11:14:31 144

转载 C语言system函数

C语言system函数](https://blog.csdn.net/qq_41112517/article/details/78968589)

2018-10-21 21:12:00 2292

原创 《C++ Primer Plus》学习随记1---模拟EOF

EOF(文件结束符)—“End Of File”。通常,EOF被定义为值-1。几种检测模拟EOF结束输入的代码实现:1、eof(),fail()从输入流读取数据,eof( )——如果检测到EOF,cin.eof()返回true,否则返回falsefail( )——用来判断一个流是否“坏”掉了。如果failbit、badbit中任意一种或两种被设置,则fail()返回true,否则返回fa...

2018-10-15 21:35:34 225

unity 超酷3D飞机控制游戏完整源码.zip

unity 超酷3D飞机控制游戏,逼真场景,包含游戏的完整源码!

2020-10-24

Curved UI - VR Ready Solution To Bend Warp Your Canvas! 2.6p1.zip

unity VR开发,曲面交互菜单界面,曲面UI界面,Curved UI

2020-10-23

空空如也

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

TA关注的人

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