![](https://img-blog.csdnimg.cn/91557b5c8ea145318189a35fe5e0578c.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++开发
文章平均质量分 71
分享C++语法总结以及开发技巧及应用案例。
嵌入式视觉
双非本科,曾4个月考研上岸211硕士,现大厂算法开发工程师,从事视觉算法开发和模型压缩部署工作,终身学习践行者。想要了解更多干货和开源项目,欢迎关注我的公众号-嵌入式视觉。
展开
-
内部块拷贝函数memmove和memcpy总结
memcpy 和 memmove 函数作用是一样的,唯一的区别是,当内存发生局部重叠的时候,memmove 保证拷贝的结果是正确的,memcpy 不保证拷贝的结果的正确。原创 2022-09-08 16:12:14 · 293 阅读 · 0 评论 -
C++ & 与 && 用途
右值引用标志是 && ,专门为右值而生,可以指向右值,不能指向左值。通过 std::move 将左值转化为右值,从而可以被右值引用指向(std::move 实现等同于一个类型转换:static_cast(lvalue) ,单纯的 std::move(xxx) 不会有性能提升)。原创 2022-09-08 14:23:03 · 740 阅读 · 0 评论 -
C++ 编程基础
- 栈内存:由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈,都是先进后出。栈使用的是一级缓存,他们通常都是被调用时处于存储空间中,调用完毕立即释放**。- 堆内存:一般由程序员分配释放,若程序员不释放,程序结束时可能由 OS 回收。堆是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。原创 2022-09-16 15:57:13 · 1042 阅读 · 1 评论 -
C++从键盘输入多行数据
C++机试如何输入一行多个、多行多个数据。使用cin输入数据、vector创建数组存储数据,第一行输入两个数n, m,表示输入输入数据是 n 行 m列的二维数组,代码如下:/* * 输入多行多个数据 */#include <iostream>#include <vector>#include<algorithm>using...原创 2020-10-27 17:38:20 · 5316 阅读 · 2 评论 -
C++ 并发编程总结
C++ 的并发编程支持库包含了线程、原子操作、互斥、条件变量和 future 的内建支持。原创 2022-10-09 10:17:05 · 1501 阅读 · 3 评论 -
C++日期和时间编程总结|程序性能优化基础
在 C++11 之前,C++ 编程只能使用 C-style 日期时间库,其精度只有秒级别,这对于有高精度要求的程序来说,是不够的。但这个问题在C++11 中得到了解决,C++11 中不仅扩展了对于精度的要求,也为不同系统的时间要求提供了支持。另一方面,对于只能使用 C-style 日期时间库的程序来说,C++17 中也增加了 timespec 将精度提升到了纳秒级别。原创 2022-09-16 15:50:02 · 814 阅读 · 0 评论 -
C++基础-资源管理:堆、栈与 RAII
堆,英文是 heap,在内存管理的语境下,指的是动态内存分配的区域,和数据结构中的“大根堆和小根堆”不是一个概念。同时,这里堆分配的内存需要手工释放,否则会造成内存泄漏。 C++ 标准里有一个和堆相关的概念是自由存储区,英文是 free store,特指使用 new 和 delete 来分配和释放内存的区域。一般而言,这是堆的一个子集。原创 2022-09-16 15:53:31 · 274 阅读 · 0 评论