自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Cherno CPP学习笔记-07-琐碎细节

std::unordered_map中 map[key] 这个操作具有改变(insert)map的能力,故与最好用 map.at(key)搬运别人的笔记:https://www.cnblogs.com/zhangyi1357/p/16009968.html。移动语义本质上允许我们移动对象(C++11以后引入右值引用),尽可能避免拷贝和分配内存。移动语义就像是拿一个盒子去扣住一个球,而不是复制一个球再放进盒子里。nullptr是C++语法,值为0,字节长度与平台有关。NULL是一个宏:C++中为0,C中为。

2024-04-08 10:25:53 329

原创 Cherno CPP学习笔记-06-高级特性

static_cast static_cast 用于进行比较“自然”和低风险的转换,如整型和浮点型、字符型之间的互相转换,不能用于指针类型的强制转换。dynamic_cast更像一个函数,它不像编译时进行的类型转换,而是在运行时计算(当然有额外的性能成本)。但是不要经常添加预编译头文件,构建需要时间,如果一个头文件确定不再修改,可以放到预编译头文件中。持续集成(CI)通常指的是在开发期间持续集成代码的过程,它的本质是构建自动化和测试。std::varint与union不同,内存不公共,但更安全。

2024-04-08 10:23:01 1110

原创 Cherno CPP学习笔记-05-中级特性

如果改变了api,客户端调用api使用auto接收可以不用修改代码,但客户端可能会因为类型的改变而出错。可以轻易的做到**“把拥有的内存段当成不同类型的内存来对待”**lambda的用法是,在我们会设置函数指针指向函数的任何地方,我们都可以将它设置为lambda。就像是一个快速的一次性函数,展示下需要运行的代码,比起正式的函数,我们更想将它视为一个变量。union只有一个真正的内存成员,不同成员占用相同的内存空间。“把拥有的内存段当成不同类型的内存来对待”,自由地操作内存。[=]通过值传递传递所有的变量;

2024-04-08 10:19:21 939

原创 Cherno CPP学习笔记-04-高级特性

templete 允许你定义一个可以根据你的用途进行编译的模板,可以让编译器基于一套规则帮你写代码。静态链接意味着这个库会被放到你的.exe可执行文件中,或其他操作系统下的可执行文件。模板会在编译期被评估处理,所以可以利用模板实现“动态大小”的栈数组;静态链接在技术上可以产生更快的应用程序,因为它允许更多的优化发生。动态链接库是在运行时链接的,在程序运行时你可以动态装载一些链接。C++的模板对标其他语言中的“泛型”。我们能做的就是写一些宏,它将代码中的文本替换为其他东西。静态链接是在编译时发生的。

2024-04-08 10:16:01 1064

原创 Cherno CPP学习笔记-03-高级特性

一方面,需要额外的内存来存储v表,这样我们就可以分配到正确的函数,包括基类中要有一个成员指针,指向v表;虚函数表就是一个表,包含所有基类中所有虚函数的映射,这样我们在运行时可以将他们映射到正确的覆写(override)函数。可见性是属于面向对象编程的概念,它指的是类的某些成员或方法实际上有多可见:谁能看见他们、谁能调用他们、谁能使用它们;如果我们开始有一个数据类型,然后有另一种类型,在两者之间,C++允许隐式进行转换,而不需要用cast做强制转换。如果对象很大,或者想要显式地控制对象地生存期,在堆上创建。

2024-04-08 10:09:37 648

原创 Cherno CPP学习笔记-02-基础语法

Local Static允许我们声明一个变量,它的生存期基本相当于整个程序的生存期,然而它的作用范围被限制在这个作用域(函数、if等)内。日志系统级别:error、warning、message/trace,设置之后起信息过滤的作用。引用必须去“引用”已经存在的变量,引用本身不是新的变量,引用并不占用内存,没有真正的存储空间。静态方法可以通过类名被调用,在静态方法内部,不能写引用到类实例的代码。生存期指的是变量实际存在的时间;作用域指我们可以访问变量的范围;由于单例的特性,静态方法无法访问类的实例。

2024-04-08 10:05:05 676

原创 Cherno CPP学习笔记-01-背景知识

在项目属性->C/C+±>Optimization设置为Maximum Speed并且把Code Generation->Basic Runtime Checks设置成Default,编译之后再看.asm文件,发现文件相比之前的设置小了许多,这是因为编译器对代码做了优化。C#、Java是在虚拟机上运行的,意味着代码首先编译成一种中间语言,当在目标平台上运行应用程序时,先运行虚拟机,再转换成机器码。第二步,文件被编译,编译器将所有的C++代码转换为实际的机器代码。相比其他语言,在C++里,文件变得没有意义。

2024-04-08 09:59:03 877

原创 Lecture 1 - Introduction

*consistency ** :一致性,例如对数据库读写。一般来说先去访问主服务器(数据库),如果失败了再去访问副本服务器。一致性可以分强弱,因为强一致性需要更昂贵的通信成本。从分布系统的设计者角度而言,Map必须是纯函数性的,需要考虑环境框架是如何组织的。中的Map函数和Reduce函数Overview。但从程序员的角度来看,调用就行。,其他因素将由实例说明。

2024-03-29 20:07:02 509

原创 【LEACH】WSN路由能耗模型基础

WSN路由-能耗模型基础

2023-12-24 11:16:13 949

原创 序:关于本专栏

鄙人认为,如今的物联网时代下的Sensor、IoT设备,应当拥有更复杂的数据融合机制,这里会引出很多研究点,就不详细展开了。以LEACH源码为例,在Matlab、Github上搜索到的源码中,大概有90%实现的都有问题,或者说是粒度不够,极其容易给人造成误解。此外,以中科院一区顶刊《IEEE INTERNET OF THINGS JOURNAL》为例,前沿论文的绝大部分路由协议的背景还是沿用20多年前的LEACH设定,尤其是数据融合机制。一是希望能认识相同或相似研究方向的朋友,进行交流分享,共同学习。

2023-12-12 17:45:45 398

原创 MODA 多目标蜻蜓算法

多目标蜻蜓算法(TheDAalgorithmformulti-objectiveproblems)与DA算法在同一篇论文中提出。其主要灵感源于自然界中蜻蜓的,具有寻优能力强等特点。

2022-07-24 12:17:56 1445 6

原创 DA 蜻蜓优化算法 - 逐句拆解 - 含代码

蜻蜓优化算法(Dragonflyalgorithm,DA)是SeyedaliMirjalili等于2016年提出的一种新型启发式智能优化算法[1]。其主要灵感源于自然界中蜻蜓的,具有寻优能力强等特点。

2022-07-23 00:34:06 2625 1

原创 MOPSO 多目标粒子群算法

多目标粒子群(MOPSO)算法

2022-07-22 15:00:07 22554 257

原创 NSGA-II 非支配排序遗传算法

NSGA-Ⅱ算法,即带有精英保留策略的快速非支配多目标优化算法,是一种基于Pareto最优解的多目标优化算法。

2022-07-21 14:30:16 3725 2

原创 PSO 粒子群优化算法

粒子群优化算法(PSO),多图含爬山代码实操

2022-07-18 17:03:00 4432

原创 GA 遗传算法-含代码-多图

遗传算法通俗易懂解释、数学推导、代码实操

2022-07-17 21:21:56 1061

DA蜻蜓算法matlab代码

DA蜻蜓算法matlab代码

2022-07-23

NSGA-II完整matlab项目,含ZDT1~6真实数据txt

NSGA-II完整matlab项目,含ZDT1~6真实数据txt,见本人博客

2022-07-21

空空如也

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

TA关注的人

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