记录C++ 3

C++调用C语言编译后的函数为什么要加extern"C"声明

C++有函数重载,调用函数时底层不是函数表面的名字,而C语言里面函数名在底层是一样的。

new和delete

new用于申请内存并初始化对象
delete用于释放内存并销毁对象
cpp 复制代码
#include <iostream>

int main()
{
    int *p=new int(10);
    cout <<*p <<endl;
    delete p;
    p=nullptr;

    int arr= new int[5]{1,2,3,4,5}
    cout <<arr[0] <<endl;
    cout <<arr[1] <<endl;
    cout <<arr[2] <<endl;
    delete []arr;
    arr=nullptr;
    return 0;
    
}
    
    

new和delete与malloc和free的区别

都是动态管理内存的入口,malloc和free需要手动计算类型大小返回void*,new和delete可以自己计算类型大小根据类型返回相应类型的指针
malloc和free只负责分配释放空间,new和delete会调用构造函数和析构函数用于初始化和销毁对象
相关推荐
倒头就睡的小比特2 天前
算法竞赛C++常用的STL
c++·算法
weilx12342 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
Smileyqp沛沛2 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
旖旎夜光2 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
吞下星星的少年·-·2 天前
C++ 萌新语法入门篇
c++·算法比赛
霍霍的袁2 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
another heaven2 天前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法