![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
语言基础-C++
文章平均质量分 87
浴血筑梦
这个作者很懒,什么都没留下…
展开
-
placement new
placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。 它的原型如下: void *operator new( size_t, void *p ) throw() { return p; } 首先我们区分下几个容易混淆的关键词:new、operator new、placement new new和delete操作符我们应该都用过,它们是对堆中..转载 2021-05-13 20:06:48 · 169 阅读 · 0 评论 -
malloc背后的系统知识
面试的时候经常会被问到 malloc 的实现。从操作系统层面来说,malloc 确实是考察面试者对操作系统底层的存储管理理解的一个很好的方式,涉及到虚拟内存、分页/分段等。下面逐个细说。 1. 虚拟内存 首先需要知道的是程序运行起来的话需要被加载的物理内存中,具体到计算机硬件就是内存条。操作系统启动的时候先把自己加载到物理内存的固定位置(一般为底部),物理内存的其他位置就用来运行用户程序。程序就是一堆指令,程序运行可以简单抽象为把指令加载到内存中,然后 CPU 将指令从内存载入执行。 1. 为什么需要转载 2020-09-15 15:40:58 · 250 阅读 · 0 评论 -
c++-字节对齐
struct 字节对齐详解 zhanghow 2017-02-16 17:49:50 6781 收藏 6 分类专栏: C++ 版权 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只...转载 2020-08-20 23:06:53 · 252 阅读 · 0 评论 -
objectc 属性设置(@Property)
再 在OC开发中 点语法用的是最为广泛的语法 点语法能调用的有 结构体,setter方法和getter方法。调用setter方法和getter方法的时候可以通过写入属性,通过属性的特性来省略setter和getter方法。但是在属性学习的时候遇到了@synthesize 这个东西 具体这个东西该怎么用,下面一起来了解下。 我们在进行iOS开发时,经常会在类的声明部分看见类似于@syn...原创 2017-09-21 15:11:42 · 559 阅读 · 0 评论