C/C++
Carpenter_j
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C/C++不做数组越界检查
C语言非常重视运行时的效率,所以没有进行数组越界检查,而C++继承了C的效率要求,自然也不做数组越界检查。(检查数据越界,编译器就必须在生成的目标代码中加入额外的代码用于程序运行时检测下标是否越界,这就会导致程序的运行速度下降)例如下面这段代码: int a[2];//定义一个长度为2的int型数组a a[0] = 1; a[1] = 2; a[2] = 4;//越界 for (...原创 2018-07-18 11:10:14 · 4550 阅读 · 0 评论 -
函数指针和指针函数
函数指针: 函数指针是一个指向函数的指针。而每个函数在编译的时候都会有个入口地址,这个入口地址就是函数指针所指向的地址。使用方法: 如下代码:#include<iostream>//定义了个简单的两个int型整数相加的函数int add(int a, int b) { return a + b;}/* 测试调用幻术add...原创 2018-07-18 12:26:09 · 221 阅读 · 0 评论 -
C/C++测试程序运行效率代码(clock函数)
我们要使用的clock_t clock() CLOCKS_PER_SEC 这三个都是在 ctime(在C里应该引用time.h这个头文件) 这个头文件里,所以要包含一下这个头文件。 clock_t 在源代码中我们可以看到,它的类型为长整形(long)。 ...原创 2018-07-19 11:17:27 · 9436 阅读 · 0 评论 -
关于debug下和release下程序运行时间不同
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。 Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 例如:在VS2017中 debug模式下 将10000个数据进行插入排序需要的时间为3-4s(这里用的swap函数来实现元素中的交换,如果自己定义交换代码...原创 2018-07-19 13:06:58 · 3167 阅读 · 0 评论 -
堆内存和栈内存
堆内存是用来存放由new创建的对象和数组,即动态申请的内存都存放在堆内存,并且记得在最后delete掉开辟的堆空间 栈内存是用来存放在函数中定义的一些基本类型的变量和对象的引用变量 int arr[5]; 这个数组开辟在栈空间里 int *arr = new int[5]; 这个数组...原创 2018-07-19 23:18:35 · 160 阅读 · 0 评论
分享