摘要:
引用折叠:创建引用的引用时(如模板参数、类型别名)会造成引用折叠,折叠规则如下:1.&+&->&&&+&->&&+&&->& 2.&&+&&->&& 3.左值(非引用)+&&(模板形参的)->&,实际上是:编译器会自己在模板形参类型前加&,这样就变成了:&+&&,依据前面的规则还是会折叠为&。 注意 阅读全文
摘要:
1.模板的参数列表里除了普通的typename T这样的类型参数之外,还可以定义非类型参数,其表示一个值而不是一个类型。并且这个非类型参数是一个常量值,可以用来指定数组大小。 例子: template <int a,int b> bool CmpStr(const char(&x) [a],cons 阅读全文
摘要:
运行以下代码: void print(int x,int y,int z){ cout<<"&x= "<<&x<<endl; cout<<"&y= "<<&y<<endl; cout<<"&z= "<<&z<<endl; } int main() { print(1,1,1); getchar(); 阅读全文
摘要:
守护进程(daemon):在后台运行并且不受任何终端控制的进程。Unix操作系统有很多典型的守护进程(其数目根据需要或20—50不等),它们在后台运行,执行不同的管理任务。 写时赋值(copy-on-write):linux中开新进程一般都是先fork一个子进程(子进程和父进程的数据完全一致)出来, 阅读全文
摘要:
先画个图: 再来一张: 然后是一个困扰我很久的问题:为什么多级页表省空间 现在我的理解是这样的:二级页表的系统中,程序的内存中存放到页表有:一级页表(这个是必存的,任何程序都要存),以及该程序实际占用页面对应的二级页表项(一般程序的大小就几MB,一般存几个二级页表就够了,因为一个二级页表可以指向2^ 阅读全文