记录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会调用构造函数和析构函数用于初始化和销毁对象
相关推荐
维克兜率天7 分钟前
【维克】统计套利建模:从因子到信号的完整流程
android·开发语言·python·算法·kotlin
Pin_Qing12 分钟前
同一天,谷歌半价卖旗舰,阶跃翻倍收缓存
大数据·开发语言·人工智能·程序人生·缓存
2501_9307077817 分钟前
使用C#代码在 Word 文档中添加、插入或删除页面
开发语言·c#·word
没有梦想的咸鱼185-1037-166321 分钟前
从通量数据到SCI论文——AI-R语言生态系统碳水热通量及其机制分析与论文
开发语言·人工智能·数据分析·r语言
weixin_4617694027 分钟前
conda create 创建容器 Failed to resolve ‘repo.anaconda.com‘问题
开发语言·python·conda·repo·网络问题·无法创建
Want59529 分钟前
Python生日蛋糕
开发语言·python
垆边人似月.29 分钟前
找出最小的 K 个数
数据结构·c++·算法
C语言小火车34 分钟前
C++ 为什么越来越依赖标准库?
java·开发语言·c++
郝学胜-神的一滴41 分钟前
金融数据分析实战:从数据清洗到策略回测,Python全链路落地
开发语言·python·程序人生·金融·数据挖掘·数据分析
八月的雨季 最後的冰吻1 小时前
C++ 面试要点笔记(续)
c++·笔记·面试