会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
happinesspills
博客园
首页
新随笔
联系
订阅
管理
2022年10月27日
Modern C++ 智能指针 shared_ptr
摘要: 现代C++为了解决内存泄露以及资源回收等问题,引入了智能指针的概念。在日常的C++实践中也是高频使用。 本文是在实践过程中,对现代C++中的智能指针进行的一个稍微全面的总结。 概念及使用 std::shared_ptr也即智能指针,采用RAII手法,是一个模版对象。std::shared_ptr表示
阅读全文
posted @ 2022-10-27 21:23 Happinesspill
阅读(171)
评论(0)
推荐(0)
2022年10月15日
值传递 指针传递 引用传递
摘要: 参数传递共有三种方式,即值传递、指针传递、引用传递。 值传递 值传递就是在调用函数的时候将实参的值拷贝后赋值给形参,形参改变不会改变实参,各自有各自的空间。且形参为局部变量,函数运行完后会被操作系统释放掉。 #include <iostream> using std::cout; using std
阅读全文
posted @ 2022-10-15 20:27 Happinesspill
阅读(74)
评论(0)
推荐(0)
2022年10月13日
共享内存
摘要: 共享内存 消息队列的读取和写入过程,都会有发生用户态和内核态之间的消息拷贝过程,共享内存就解决了这个问题。对于内存管理,现代操作系统采用虚拟内存技术,每个进程都有个自己独立的虚拟内存空间,不同进程的虚拟内存映射到不同的物理内存中,所以即使进程A和进程B的虚拟地址是一样的,但是访问的是不同的物理地址,
阅读全文
posted @ 2022-10-13 15:15 Happinesspill
阅读(278)
评论(0)
推荐(0)
2022年10月12日
C++ 多线程
摘要: 1.1 并发、进程、线程的基本概念 1.1.1并发 两个或多个任务(独立的活动)同时发生:一个程序同时执行多个独立的任务。 单核CPU由操作系统调度,单时间片内只运行一个程序,进行任务切换,实现同时运行多个任务的假象,切换上下文有时间开销,切换回来要复原。 多核心CPU能够真正的实现并行执行任务(硬
阅读全文
posted @ 2022-10-12 15:28 Happinesspill
阅读(332)
评论(0)
推荐(0)
2022年9月8日
map容器的插入方式
摘要: map是常用的STL容器,但是map容器跟别的容器不太一样,每次使用map容器时,对于map的插入方式总是遗忘,特此记录 定义一个map关联式容器 map<int, string> map; 第一种 C++11新标准,使用花括号直接初始化,直接向map中插入元素, map.insert({1, 'z
阅读全文
posted @ 2022-09-08 19:46 Happinesspill
阅读(406)
评论(0)
推荐(0)
2022年8月29日
C++ 左值于右值的理解
摘要: 定义与区别 左值 (lvalue, locator value) 表示了一个占据内存中某个可识别的位置(也就是一个地址)的对象。即左值指的是可以取地址的变量。 区分表达式的左右值属性有一个简便方法:若可对表达式用 & 符取址,则为左值,否则为右值。 左值与右值的根本区别在于能否获取内存地址,而能否赋
阅读全文
posted @ 2022-08-29 21:03 Happinesspill
阅读(128)
评论(0)
推荐(0)
2022年8月26日
new与malloc的区别以及实现方法
摘要: new和malloc的内存分配在哪 分配在堆上。 也有说new是分配在自由存储区而malloc分配在堆上,自由存储区可以是堆也可以不是,具体要看new内部的实现。 操作系统在堆上维护一个空闲内存链表,当需要分配内存的时候,就查找这个表,找到一块内存大于所需内存的区域,分配内存并将剩余的内存空间返还到
阅读全文
posted @ 2022-08-26 21:14 Happinesspill
阅读(156)
评论(0)
推荐(0)
2022年8月23日
C++ Primer“引用的引用”
摘要: 《C++ primer》中有一句 因为引用本身不是对象,所以不能定义引用的引用。 int i = 1024; int &a = i; int &b = a; 容易引起误解,语句int &b = a;并没有语法错误。 可以这么理解: int &a 给i起了一个别名a; int &b 给i起了另一个别名
阅读全文
posted @ 2022-08-23 19:51 Happinesspill
阅读(28)
评论(0)
推荐(0)
引用和指针
摘要: 引用 C++11中新增了“右值引用”,主要用于内置类,当我们使用术语“引用”时,指的是“左值引用”。 引用(reference)为对象起另一个名字,即别名。 引用不是对象,只是已经存在对象的另一个名字。定义一个引用时,必须将引用与它的初始值绑定在一起,且一直绑定在一起,无法令引用重新绑定到另外一个对
阅读全文
posted @ 2022-08-23 19:43 Happinesspill
阅读(41)
评论(0)
推荐(0)
const限定符_c++Primer
摘要: const对象必须初始化,因为const对象一旦创建后其值就不能改变。 默认情况下,const对象仅在文件内有效 在一个文件中定义const,在多个文件中声明并使用,解决办法:对于const变量不管是声明还是定义都添加extern关键字。 把引用绑定到const对象上称为对常量的引用(referen
阅读全文
posted @ 2022-08-23 19:31 Happinesspill
阅读(35)
评论(0)
推荐(0)
下一页
公告