VS下如何调试程序

程序崩溃的原因分类函数栈溢出 一个变量未初化、未赋值,就读取它的值。 ( 这属于逻辑问题,往往是粗心大意的导致的 )函数栈溢出 (1)定义了一个体积太大的局部变量 (2)函数嵌套调用,层次过深(如无穷递归)数组越界访问 访问数组元素时,下标越界指针的目标对象不可用 (1)空指针 (2)野指针 指针...

2018-02-25 15:20:58

阅读数:5358

评论数:0

debug和release的区别

Debug 和 Release 并没有本质的区别,他们只是VC预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动。如果我们愿意,我们完全可以把Debug和Release的行为完全颠倒过来。当然也可以提供其他的模式,例如自己定义一组编译选项,然后命名为MY_ABC等。习惯上,我们仍然更愿意...

2018-01-02 20:00:08

阅读数:6495

评论数:0

C++ 堆和栈的区别 内存分配方式理解

栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。   堆,就是那些由 new 分配的内存块,他们的释...

2017-11-16 14:38:00

阅读数:194

评论数:0

程序的内存分配之堆和栈的区别

堆栈概述   在计算机领域,堆栈是一个不容忽视的概念,堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。 要点:  堆,优先队列...

2017-11-16 14:13:22

阅读数:137

评论数:0

c++ assert() 使用方法

ssert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include  void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息...

2017-11-16 13:41:57

阅读数:79

评论数:0

strcmp函数与strcpy函数

(一)strcmp函数            strcmp函数是比较两个字符串的大小,返回比较的结果。一般形式是:                    i=strcmp(字符串,字符串);          其中,字符串1、字符串2均可为字符串常量或变量;i   是用于存放比较结果的整型变...

2017-10-09 23:41:45

阅读数:92

评论数:0

const的用法

在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。 在 const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所指向的对象,也不能改变 thi...

2017-09-25 18:44:51

阅读数:66

评论数:0

数组指针和指针数组的区别

数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值: int a[3][4]; i...

2017-09-23 11:26:35

阅读数:98

评论数:0

数据结构――堆的基本概念及其操作

在我刚听到堆这个名词的时候,我认为它是一堆东西的集合...       但其实吧它是利用完全二叉树的结构来维护一组数据,然后进行相关操作,一般的操作进行一次的时间复杂度在   O(1)~O(logn)之间。       可谓是相当的引领时尚潮流啊(我不信学信息学的你看到log和1...

2017-05-03 20:50:24

阅读数:322

评论数:0

二叉树的线索化详解

首先,什么是二叉树的线索化,为什么要对二叉树线索化? 二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或者用栈辅助实现非递归的遍历。用二叉树作为存储结构时,取到一个节点,只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱或者后继。 为了保存这种在遍历中需要的信息,我们利用...

2017-04-07 10:25:21

阅读数:460

评论数:0

C++ 详解深贝与浅拷贝

当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用。也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用。以下情况都会调用拷贝构造函数: (1)一个对象以值传递的方式传入函数体  (2)一个对象以值传递的方式从函数返回  (3)一个对象需要通过另外...

2017-04-07 09:49:15

阅读数:121

评论数:0

非递归实现二叉树的遍历

1、先序遍历 基本思想: 1>首先定义一个栈,每遇到一个节点,就对其数据进行访问;然后将其入栈,将当前节点的左孩子赋给它,循环此过程,直到最左节点被访问并被压入栈中。 2>出循环后用临时变量保存栈顶节点,然后对栈顶节点进行出栈操作,到此说明当前节点以及其左子树已被访问过了。 3...

2017-03-30 21:07:53

阅读数:113

评论数:0

拷贝构造函数相关知识总结

在C++中,下面三种对象需要调用拷贝构造函数! 1. 对象以值传递的方式传入函数参数 [c-sharp] view plain copy class CExample    {   private:    int a;      public...

2017-03-14 21:45:04

阅读数:137

评论数:0

STL 关联式容器 Set与Map的用法

C++的标准模板库(简称STL)是一个容器和算法的类库。容器往往包含同一类型的数据。 set是一种关联式容器,其特性如下: set以RBTree作为底层容器所得元素的只有key没有value,value就是key不允许出现键值重复所有的元素都会被自动排序不能通过迭代器来改变...

2017-02-15 23:41:16

阅读数:300

评论数:0

C++模板template用法总结

引言 模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。 函数模板 在c++入门中,很多人会接触swap(int&, int&)这...

2017-02-15 12:37:41

阅读数:35753

评论数:6

提示
确定要删除当前文章?
取消 删除
关闭
关闭