- 博客(14)
- 收藏
- 关注
原创 趣学算法--贪心算法
贪心选择贪心选择性质是指原问题的整体最优解可以通过一系列局部最优的选择得到。将原问题变为一个相似的但规模更小的子问题,而后的每一步都是当前最佳的选择。这种选择依赖于已做出的选择,但不依赖于未做出的选择。
2022-10-23 21:31:42
2872
原创 趣学算法--初识算法
数据结构+算法=程序。数据结构是程序的骨架,算法是程序的灵魂。算法只是对问题求解方法的一种描述, 它不依赖于任何一种语言,既可以用自然语言、程序设计语言(C、C++、Java、Python等)描述,也可以用流程图、框图来表示。通常情况下,为了更清楚地说明算法的本质,我们会去除计算机的语法规则和细节,采用“伪代码”来描述算法。“伪代码”介于自然语言和程序设计语言之间,它更符合人们的表达方式,容易理解,但它不是严格的程序设计语言。如果要上机调试,则需要转换成标准的计算机程序设计语言才能运行。
2022-10-18 21:01:20
393
原创 关于Linux中so显式链接(dlopen)找不到函数符号地址的问题
dlopen加载函数后,函数调用报找不到函数符号错误,通过再封装的方式,解决问题。
2022-10-08 11:36:13
2593
1
原创 VS2019制作动态库和静态库及使用
VS2019制作动态库和静态库及使用1. 静态库的制作及调用1)打开VS软件,创建一个新项目,选择静态库。然后在软件自动创建好的函数中,我们打印一句话,并在头文件上添加函数声明,这样我们就可以把头文件以及lib文件给别人去调用,而不用给源代码。2)头文件上添加函数声明。3)编译这个静态库项目,然后会生成一个.lib文件。4)在另外一个项目中,我们开始尝试调用静态库里面的函数,并在项目属性上,配置好静态库的头文件路径以及静态库的路径。在另外一个项目右键选择属性,然后按步骤添加好头文件的
2021-07-24 16:33:34
3133
4
原创 Lambda表达式
介绍lambda对于一个对象或者一个表达式,如果可以对其使用调用运算符(()),则称它为可调用的。可调用的对象有:函数、函数指针、重载了函数调用运算符的类以及lambda表达式。一个lambda表达式表示一个可调用的代码单元。我们可以将其理解为一个未命名的内联函数。与任意函数类似,一个lambda具有一个返回类型、 一个参数列表和一个函数体。但与函数不同,lambda可能定义在函数内部。一个lambda表达式具有如下形式:[capture list] (parameter list) -> r
2021-03-09 15:55:54
132
原创 关于error LNK2019: 无法解析的外部符号__imp__XXXX,该符号在函数“XXXX”中被引用问题
关于error LNK2019: 无法解析的外部符号__imp__XXXX,该符号在函数“XXXX”中被引用问题
2021-03-02 11:37:43
1203
原创 hash<string>() -- 函数对象
标准库的哈希函数看C++Primer无序容器里面有一行代码,写法看上去有点陌生,学习记录一下。size_t hasher(Const Sales_data &sd){ return hash<string>() (sd.isbn()); //就是这行的写法}原文是这么描述的:“hasher函数使用一个标准库hash类型对象来计算isbn的哈希值,该hash类型建立在string类型之上。”仿函数理解上面的语法,就先了解下仿函数,C++允许类重载函数调用运算符,这样的
2020-08-27 11:23:08
1375
原创 const的一些相关用法
在阅读代码的时候,经常会看到const修饰词的使用,而且有各种各样的使用方式,下面将结合代码介绍一下const的相关用法。1.const与变量首先,用const修饰一个变量,那么我们就不能再去修改这个变量的值了。const int a = 1;a = 2; //error,vs会提示表达式必须是可修改的左值其次就是与指针相关的,这个我以前也一直都十分混乱,到底const修饰的是谁,然后...
2020-04-04 15:46:03
211
原创 字符集ANSI与Unicode的转换及UTF-8编码方案
1.本文提供了一种在Windows下将ANSI、Unicode和UTF-8三者之间相互转换的方法。2.本文的代码参考来源:https://blog.youkuaiyun.com/shufac/article/details/518292673.想更深入了解ANSI、Unicode及UFT-8,网上有非常多的资料: https://blog.youkuaiyun.com/xiongxiao/article/deta...
2020-03-01 11:57:52
480
原创 通过构造函数和析构函数来测试一个函数的执行时长
有时候,在开发的过程中,想要测试一下某个函数的执行时间是多久,这时候,就会用到定时器。这里就有个小技巧,通过类的构造函数以及析构函数,配合一个计时器,来计算一个函数的执行时间。原理就是先声明一个类,在构造函数中记录当前时间点,然后在析构函数中再记录一下当前时间点,并减去构造函数中记录的起始时间点,这样,只要在需要被测试的函数开头实现一个类对象就可以了。具体的C++代码如下://函数执行时长的性...
2019-11-12 20:27:24
347
原创 hashmap遍历问题,查找顺序并非插入时的顺序
hashmap遍历问题,查找顺序并非插入时的顺序今天遍历hashmap读取数据时,发现我的map对象已经把配置表的所有数据都读取出来了,但是去遍历的时候,发现只遍历了一部分数据。MAP_OF_CFG_DATA::iterator iter_begin = map_of_cfg_data_.begin();MAP_OF_CFG_DATA::iterator iter_end = map_of_...
2019-10-16 16:20:19
563
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人