数值转换关系

正数的反码为其本身,负数和零的反码计算方式为:(2^n-x),其中n指代表示的数的二进制位数,x指的是数本身的值的绝对值。这也是反码英文one‘s complement的来源,即(2^n-x)还可以写成([10...0]-x),这里面的1只有一个。

因此,-25的补码的二进制表示为2^8-25=231. 231的十六进制表示为E7

delete和delete[] 的区别。delete和delete[]都能释放指针所指向的内存区域。但delete只会调用一次析构函数,而delete[]还会调用后续所有对象的析构函数。当数据类型为基本数据类型时,用delete和delete[]都可以,因为基本数据类型没有析构函数、

fork()之后,操作系统会复制一个与父进程完全相同的子进程,虽说是父子关系,但是在操作系统看来,他们更像兄弟关系,这2个进程共享代码空间,但是数据空间是互相独立的,子进程数据空间中的内容是父进程的完整拷贝,指令指针也完全相同,但只有一点不同,如果fork成功,子进程中fork的返回值是0,父进程中fork的返回值是子进程的进程号,如果fork不成功,父进程会返回错误。可以这样想象,2个进程一直同时运行,而且步调一致,在fork之后,他们分别作不同的工作,也就是分岔了。这也是fork为什么叫fork的原因。 子进程拷贝父进程的堆栈和数据段 创建新的空间 所以num值不同 虚拟地址一样 但是物理地址不同

      勘误:子进程的pid是0,子进程的getpid()是它自己的进程号;父进程中的pid值为子进程进程号,只有父进程执行的getpid()才是他自己的进程号。

虚函数动态绑定,绑定对象的动态类型,非虚函数静态绑定,绑定对象的静态类型。

 int const *p , const int *p 以及 int * const p 的区别,前两个意思是一样的表示*p的内容不能修改

猜你喜欢

转载自blog.csdn.net/wall_e12138/article/details/81162037