C++
一程山路
神之所以被称之为神,是因为他做到了人做不到的事情。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
内联函数和宏定义
内联函数的定义:程序中被inline修饰符所修饰的函数。 例如:inline int sum(int a, int b) { return a + b; }内联函数与普通函数相比有以下几个特点: 1、被inline修饰的函数在编译阶段不会产生符号,因此inline修饰的函数不能像普通函数一样分文件写,若分文件写,会发生符号未定义错误(在链接阶段引用的符号找不到定义)。即本原创 2017-11-02 15:27:45 · 416 阅读 · 0 评论 -
ptmalloc堆内存管理机制(主要讨论Linux x86下32位系统)
什么是堆? 在用户空间内(32位下为3G的空间),除过禁止访问空间(128M)、代码段、数据段、.bss段、栈、命令行参数及环境变量所占空间之外的空间都可以用做堆区,堆区的空间需要用户动态申请,那就不得不先介绍两个系统调用:brk()或者sbrk()和mmap()。brk()函数的C语言形式声明: void brk ( void end_data_segment); brk()函数的作原创 2017-11-16 16:47:28 · 1045 阅读 · 1 评论 -
new和malloc以及delete和free的区别
mallocmalloc是C语言中的一个函数,作用是动态开辟一块连续的内存(初始值为随机值)。 原型为: void *malloc( size_t size );//size_t为无符号整型,size为开辟的字节数。使用时需要指定数据类型。 包含的头文件是stdlib.h或malloc.h. 内存分配位置:堆中动态分配的内存。 具体分配过程:原创 2017-11-09 13:19:57 · 454 阅读 · 0 评论 -
关于对象声明周期的总结
关于对象的生命周期是怎样的,先来看下面一段代码:class Test { public: Test(int a = 5, int b = 5) :ma(a), mb(b) { cout << "Test(int, int)" << endl; } ~Test() { cout << "~Test()" << endl;原创 2017-11-13 16:32:21 · 659 阅读 · 0 评论
分享