
C++
文章平均质量分 58
gudufuyun
这个作者很懒,什么都没留下…
展开
-
可变参数的最大、最小值函数
std::max与std::min只能提供两个元素或者给定范围内的最大最小值,如果希望求得可变参数的元素的最大最小值,需要使用变参模板函数。以下为可变参数的最大值(max)、最小值函数的实现template <typename T, typename = typename std::enable_if< std::is_integral<T>::value || std::is原创 2021-03-25 20:15:05 · 759 阅读 · 0 评论 -
vcpkg快速入门手册
文章目录1. 简介2. 安装与使用2.1 获取vcpkg2.2 编译vcpkg2.3 vcpkg的文件夹层次结构2.4 设置vcpkg的环境变量2.5 vcpkg的常用命令2.6 安装包与Visual Studio集成3. 常见的C++库的CMake配置方式3.1 Boost3.2 cereal3.3 Ceres Solver3.4 CGAL3.5 FLANN3.6 GDAL3.7 GLEW3.8 GMP3.9 GTest3.10 GSL3.11 HDF53.12 Lastools/Laslib3.13 O原创 2021-02-11 02:53:54 · 6026 阅读 · 7 评论 -
Unicode、ANSI、UTF-8相互转换
1.Unicode转ANSIstring Unicode2Ansi(const wstring & strIn){ int nlenW = strIn.length(); int nlenAEst = 2 * nlenW + 10; char * lpStr = new char[nlenAEst]; memset(lpStr, 0, sizeof(char) * nlenAEst); int nlenA = WideCharToMultiByte(CP_ACP, NULL, strI原创 2020-07-10 04:32:08 · 1473 阅读 · 0 评论 -
动态规划:背包问题详细讲解和讨论
1. 动态规划原理动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。例如背包问题,他可以通过迭代求解。例如给定NNN个物品列表重量分别为{W1,W2,W3,W4,...,WN}\{{W_1},{W_2},{W_3},{W_4},...,{W_N}\}{W1,W2,W3,W4,...,WN},给定背包容量为VVV,列举背包可以放入物品的所有情原创 2020-06-19 05:33:23 · 550 阅读 · 0 评论 -
全排列的几种实现
1. 简单插入法简单插入法原理比较简单,但是当队列中有重复元素时,简单插入法则无法输出正确结果(除非是对结果进行重复排列过滤)。其原理如下:假设元素列表为{A1{A_1}A1,A2{A_2}A2,A3{A_3}A3,…,An{A_n}An},首先取出A1{A_1}A1,当前排列结果PermPermPerm为空则直接插入A1{A_1}A1,此时全排列结果记为Perm1{Perm_1}Perm1;其次取出元素 A2{A_2}A2,A3{A_3}A3,…,An{A_n}An 并完成下面运算原创 2020-06-18 08:22:00 · 570 阅读 · 0 评论