08 2023 档案
摘要:堆空间,new操作初始化 1、对于有自己写构造函数的类,不论类型名后面有没有括号()或者数组[],都用构造函数进行初始化,如果构造函数delete,则编译报错; 2、如果没有构造函数,则不加括号的new只分配内存空间,不进行内存的初始化, 3、而加了括号()的new会在分配内存的同时初始化为0。 栈
阅读全文
摘要:malloc 是线程安全的,但是不可重入。malloc 在堆上分配内存,而其内部为了效率,维护了一个堆块链表,这个链表是全局静态变量,导致它不是可重入的。 socket()是可重入的,它底层使用系统调用。 内核在执行系统调用时,处于进程上下文,即引发系统调用的那个进程。在进程上下文中,内核可以休眠并
阅读全文