c++的new的使用
时间: 2023-10-28 13:55:05 浏览: 137
C++中的new是一个用于动态申请存储空间的运算符。它有多种用法和注意事项。首先,new可以用于申请一个对象,语法为new+数据类型(初值),返回值为申请空间的对应数据类型的地址。例如,使用new申请一个初值为10的整型数据可以这样写:int *p = new int(10)。\[2\]
此外,new关键字会调用operator new函数来分配空间。operator new是一个全局的函数,当使用new关键字时,编译器会自动找到这个函数并调用它。operator new函数的作用是分配指定大小的内存空间,并返回指向该空间的指针。对应的全局operator delete函数则用于释放通过new分配的内存空间。\[3\]
需要注意的是,使用new关键字申请的内存空间需要手动释放,否则会导致内存泄漏。释放内存空间的方法是使用delete运算符,语法为delete+指针变量。例如,释放前面申请的整型数据的内存空间可以这样写:delete p。\[1\]
总结起来,C++中的new关键字可以用于动态申请存储空间,并返回指向该空间的指针。使用new关键字申请的内存空间需要手动释放,释放的方法是使用delete运算符。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* [C++new与delete的使用](https://blog.csdn.net/weixin_56935264/article/details/124858025)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [C++之new的使用](https://blog.csdn.net/qq_54182926/article/details/119193250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [C++基础 — new的使用](https://blog.csdn.net/qq_41884147/article/details/125098711)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文