
C++
文章平均质量分 94
回廊识路
软件工程没有银子弹,可能出错的地方,一定会出错.
展开
-
优先队列101
优先队列是堆这种数据结构的重要应用之一,甚至大多数语意下它俩指的就是同一个东西。但某些特殊情况下,STL自带的优先队列 priority_queue 并不能完全满足需求,比如查找/修改队列中的某个元素的优先级。本文介绍三种不同形式的优先队列,对处理这些特殊情况会有效果。原创 2021-03-24 09:16:40 · 1103 阅读 · 0 评论 -
智能指针shared_ptr踩坑笔记
平时写代码一直避免使用指针,但在某些场景下指针的使用还是有必要的。最近在项目中简单使用了一下智能指针(`shared_ptr`),结果踩了不少坑,差点就爬不出来了。痛定思痛抱着《Cpp Primer》啃了两天,看书的时候才发现自己的理解和实践很浅薄,真的是有种后背发凉的感觉。。。特地记录下这些坑点,且警后人(指后来的自己=。=)。原创 2020-11-13 20:52:45 · 1878 阅读 · 1 评论 -
图划分软件Metis的使用
Metis是由Karypis Lab开发的一个具有强大功能的图划分软件包,可用于划分不规则图(graph)、网格(mesh)以及计算稀疏矩阵(Sparse Matrices)的Fill-Reducing Orderings。它提供了一组可以独立运行的命令行程序,同时也提供API方便集成到C/C++或Fortran程序中。由于图划分问题np-hard性质带来的求解难度,Metis更新并不频繁(从1997年开始发布,最近一次更新是2013年3月,已经很是良心),其核心算法也不再是当前最优秀的,但并不妨碍它继续原创 2020-09-08 20:10:01 · 5413 阅读 · 8 评论 -
你get了吗?— C++中get和getline的区别
在日常的编程练习中读写文件是再平常不过的场景了,虽然这算是基础中的基础了,但以前用起来总是不求甚解,有时用get有时用getline,几乎每次都是面向搜索引擎编程+能跑就行+过后就忘。。。这次整理了二者的用法和区别(其实就是抄了一下cppreference),希望加深理解,以后用的时候能信手拈来。[What] std::basic_istream<CharT,Traits>::get首先,这里说的get指的是专门用于读取输入流的 std::basic_istream<CharT,Tra原创 2020-05-16 01:56:13 · 1106 阅读 · 0 评论 -
一文梳理vs2017中dll的使用
动态链接库(dll)Windows下有静态链接(lib)库和动态链接库(dll)两种共享代码的方式。本文将介绍dll的应用场景,以及在vs2017平台下的生成和使用。[What] dll是什么动态链接库(Dynamic Link Library)又称为“应用程序扩展”,在windows系统中,大多数应用程序并非仅有一个可执行文件exe,同时也包含一些相对独立(模块化)的dll文件。dll...原创 2020-04-03 22:34:23 · 693 阅读 · 1 评论 -
一文梳理vs2017中lib的使用
静态链接库(lib)Windows下有静态链接库(lib)和动态链接库(dll)两种共享代码的方式。本文将介绍lib的应用场景,以及在vs2017平台下的生成和使用。[What] lib是什么通常所说的lib是指静态链接库(Static Link Library),其中包含代码实现,lib实际上是obj文件的集合(obj文件由cpp文件编译生成),lib可以看作是一个壳子,obj文件集合打...原创 2020-04-03 21:40:41 · 1103 阅读 · 0 评论