顺丰的电话面试 程序的地址空间(栈, 段, 堆, 静态数据段, bbs段, 代码段(.code)), const变量保存在那个段中; static无论是全局变量还是局部变量都存储在全局/静态区域,在编译期就为其分配内存,在程序结束时释放; const全局变量存储在只读数据段,编译期最初将其保存在符号 ...
分类:
其他好文 时间:
2018-09-20 01:00:56
阅读次数:
195
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(stat ...
分类:
其他好文 时间:
2018-09-09 14:58:00
阅读次数:
126
block原理 block的本质是一个结构体,包含引用的外部变量及一个需要执行的函数的函数指针,在内存中可以有三个位置,即堆上、栈上和全局区(静态区)。当block中没有引用外部变量时,block的位置在全局区,当block中访问外部变量时,MRC下block默认在栈区,ARC下block默认会从栈 ...
分类:
其他好文 时间:
2018-09-04 19:09:20
阅读次数:
246
题目背景 这是一道ST表经典题——静态区间最大值 请注意最大数据时限只有0.8s,数据强度不低,请务必保证你的每次查询复杂度为 O(1) 题目描述 给定一个长度为 N 的数列,和 M 次询问,求出每一次询问的区间内数字的最大值。 输入输出格式 输入格式: 第一行包含两个整数 N, M ,分别表示数列 ...
分类:
其他好文 时间:
2018-09-04 00:10:16
阅读次数:
182
~~然而过不去你谷的模板~~ 思路: 值域线段树$[l,r]$代表一棵值域在$[l,r]$范围内的点构成的一颗平衡树 平衡树的$BST$权值为点在序列中的位置 查询区间第$k$大值时 左区间在$[l,r]$范围内的树的大小与$k$比较 大了进去,小了减掉换一边 关于建树 递归建估计是$O(nlog^ ...
分类:
其他好文 时间:
2018-09-02 23:38:38
阅读次数:
156
1.所属不同 静态变量属于类,所以也称为类变量; 成员变量属于对象,所以也称为实例变量(对象变量)。 2.内存中位置不同 静态变量存储于方法区的静态区; 成员变量存储于堆内存。 3.内存出现时间不同 静态变量随着类的加载而加载,随着类的消失而消失; 成员变量随着对象的创建而存在,随着对象的消失而消失 ...
分类:
其他好文 时间:
2018-08-29 16:00:44
阅读次数:
187
引用 int x; int& rx = x; 引用就是另一个变量的别名 动态内存管理 c++的内存模型 1,Stack(栈):编译器自动分配释放 2,Heap(堆):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3,Global/Static(全局区/静态区):程序启动时全局/静态 ...
分类:
编程语言 时间:
2018-08-24 21:48:49
阅读次数:
170
1、在类中的位置不同 成员变量:在类中方法外面 局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中) 2、在内存中的位置不同 成员变量:在堆中(方法区中的静态区) 局部变量:在栈中 3、生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用或者代码块 ...
分类:
其他好文 时间:
2018-08-23 16:57:39
阅读次数:
120
可持久化线段树 什么是可持久化线段树? 即主席树,可以维护区间的第k大,听说可以维护动态区间第k大,也可以维护静态区间第k大,但是我太菜了!只会静态区间第k大。 为什么要叫主席树?听说是某个大佬发明的,只是因为他不懂划分树,然后就发明了这种树,因为跟某主席同名,所以被叫做了主席树,ORZ。 其实,我 ...
分类:
其他好文 时间:
2018-08-18 00:48:44
阅读次数:
173
静态变量和成员变量的不同: ① 所属范围不同。静态变量是属于类范围的;成员变量是属于对象范围的。 ② 存活时间不同。类的一生有着静态变量的伴随;而成员变量只能陪类走一程,对象产生的时候它就产生,而且它会随着对象的消亡而消亡。 ③ 存储位置不同。静态变量时存储在方法区里的静态区;成员变量存储在堆栈内存 ...
分类:
其他好文 时间:
2018-08-15 14:51:02
阅读次数:
163