![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
xuexiaokkk
这个作者很懒,什么都没留下…
展开
-
如何解决C/C++中stack overflow问题
一般遇到这个问题,有两个常见的情况,一个是存在函数的递归调用,另一个是函数中定义了一个较大的数组或者别的变量。1、在函数的递归调用中,函数中定义的局部变量所占的空间要直到递归结束才能被释放,这样函数不停的递归,堆栈早晚会被用完,解决这一问题的办法是在递归函数中每次动态的分配变量的内存,在使用结束的时候释放内存。遇到这种情况更改堆栈的最大空间大小是没有用的,要从代码的优化入手。下面以二维数组的动转载 2016-01-26 19:28:29 · 1679 阅读 · 0 评论 -
函数的参数传递方式
暂时看到了三种,记录一下。 1. 值传递创建传递值的副本,传递过程是单向的,无法在函数中修改被传递的实参。#include using std::cout;using std::endl;int inc5 (int num);int main(){ int num = 5; int b = inc5 (nu转载 2016-02-26 09:59:31 · 294 阅读 · 0 评论 -
C 相关
=是赋值==是比较if (a==1) then printf ("%d",a);如果A等于1就输也Aif (a=1) then printf ("%d",a);不官A是什么,都输也A转载 2016-02-29 11:04:40 · 287 阅读 · 0 评论 -
内存分配失败错误处理
一、C语言中的malloc/calloc/realloc/valloc/alloca/memalign函数:这样的内存分配函数在内存分配失败时都返回空指针,因此,在调用返回时,检查返回值的方法比较简单,只需要与空指针比较即可;如:char* p = (char*)malloc(1204);if(p == NULL){ //error handle;};char*转载 2017-01-13 13:56:57 · 4947 阅读 · 0 评论 -
二维指针的new和delete
二维指针的new和deleteNew:A** ga = new A*[m];for(int i = 0; i { ga[i] = new A[n];}Delete:for(int i = 0; i { delete []ga[i];}delete []ga;应此C/C++ code?转载 2017-01-14 17:29:17 · 5925 阅读 · 1 评论 -
vld使用
http://vld.codeplex.com/documentation最近发现用vs2013,vld的版本是2.3,发现 检测不了Visual Leak Detector Version 2.3 installed.No memory leaks detected.Visual Leak Detector is now exiting.网上也已经证实了这个bug转载 2017-01-22 14:42:17 · 813 阅读 · 0 评论