栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

侯捷C++内存管理3

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

侯捷C++内存管理3

malloc() free() C函数 不可重载
new delete C++表达式 不可重载
::operator new() ::operator delete() C++函数 可以重载
allocator:: allocate()
allocator:: deallocate()
C++标准库
可以自由设计并以之搭配任何容器

void* p1=malloc(512);//512byte
free(p1);

complex* p2=new complex;//object
delete p2;

void* p3= ::operator new(512);
::operator delete(p3); 

#ifdef _MSC_VER
    int* p4=allocator().allocate(3,(int*)0);//3 ints
    //(int*)0无用
    allocator().deallocate(p4,3);
#endif
#ifdef __BORLANDC__
    int* p4=allocator().allocate(5);//5 ints
    allocator().deallocate(p4,5);
#endif
#ifdef __GNUC__
    void* p4=alloc::allocate(512);//512 bytes
    alloc::deallocate(p4,512);
#endif

#ifdef __GNUC__
	void* p4=allocator().allocate(7);//7 ints
	allocator().deallocate((int*)p4,7);
	//pool内存池
	void* p5 = __gnu_cxx::__pool_alloc().allocate(9);
	__gnu_cxx::__pool_alloc().deallocate((int*)p5,9);
#endif

以上来自侯捷老师视频仅用于学习。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/916907.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号