- 博客(12)
- 收藏
- 关注
转载 openai C++版本调用,依赖 curl和 nlohmann::json
【代码】openai C++版本调用,依赖 curl和 nlohmann::json。
2024-04-11 11:50:42 98 1
原创 【C++】【内存】系列三:内存优化
程序性能有2个考核指标,一是时间,二是空间,本文是针对空间上进行优化,尽可能减少程序的运行内存(可能会增加运行时间)。内存优化架构便于拓展算法空间上面省函数inline单个执行语句for...
2021-12-15 11:31:31 4162
原创 【C++】【内存】系列二:堆内存申请与释放
内存申请内存释放常见的如:库函数malloc/free、allocate/deallocate,运算符new和delete,后面两对申请和释放内存实质也是调用了malloc/free,只是做了一些额外的处理。malloc的分配内存有两个系统调用(不考虑共享内存),一个brk,一个mmap。一般而言,对于内存小于等于128k的调用brk,大于128k的则调用mmap。其中brk内存申请(小内存申请、大内存申请)针对linux 系统 来说有2种申请方法内存池: 小内存申...
2021-12-14 14:20:38 2318
原创 【C++】【内存】系列四:栈内存
本文主要引用自:《嵌入式LINUX内存使用与性能优化》栈内存简述栈中的内存是由操作系统自动来维护,栈段内存紧密排列,不会出现内存碎片的问题,不需要手动申请和释放。调用函数时,进程会自动将参数和局部变量加入栈中,而在函数返回时,会自动将这块内存返还给系统,不需要担心内存泄漏问题。栈内存申请函数Alloca栈上分配内存函数Alloca栈的扩展栈的释放栈内存优化A,避免申请过大的栈内存B,避免使用递归函数...
2021-12-14 12:47:31 1244
原创 【C++】【内存】系列一:堆内存初述
计算机存储级别图:L0~L3一般是在CPU中,主存就是我们常指的内存,本地磁盘是指电脑的硬盘,目前有机械硬盘和固态硬盘两种。分段管理一般而言,操作系统分配给进程的内存空间中包含五种段:数据段、代码段、BSS、堆、栈。分页管理针对段比较大的内存空间,操作系统进一步来进行分页处理,比如针对堆段进行分页。详细描述可参考以下链接:内存管理:分页,分段,段页结合分段---纯分段的实现、分段和分页结合物理内存:是指真实存在的内存,实体位于计算机内存条上。虚拟内..
2021-12-13 18:59:21 592
原创 【C++】const传
一,修饰变量1.1,修饰指针(顶层const和底层const)int a = 1;int* const b = &a; // 常量指针,const修饰的是b,b保存的是一个地址,所以b的值不能修改;但是b地址指向的变量值可以修改。const int* c = &a; // 指针常量,const修饰的是*c,而不是c,所以指针c指向的变量(*c)不可修改;但是指针c的值可以修改。一般建议如下书写:int a = 1;const int* const b = ...
2021-12-12 19:38:47 303
原创 相交链表--相爱的人最终还是会相聚
力扣160题相交链表:给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。如果链表A和链表B都为非nullptr,有以下两种情况:相交:不相交:解题思路:方法一:a,遍历链表A,用unordered_map存下所有的节点指针信息b,遍历链表B的节点,判断unordered_map中是否有相同节点,有则返回节点;遍历结束后仍然没有,则返回空指针。时间复杂度:O(m) ~...
2021-12-11 22:56:13 193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人