C++
文章平均质量分 59
JenaeLi
Running for the sun!
展开
-
野指针的三种类型及常见问题注意点
野指针的三种类型1)指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。char *p; //此时p为野指针2)指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。char *p=new char[10]; //指向堆中分配的内存首地址,p存储在栈区cin>> p;delete []p; //p重新变为野指针原创 2021-10-26 10:40:21 · 556 阅读 · 0 评论 -
堆和栈的区别
1、申请方式stack:由系统自动分配。 例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间heap:需要程序员自己申请,并指明大小,在c中malloc函数如p1 = (char *)malloc(10);在C++中用new运算符如p2 = new char[10];但是注意p1、p2本身是在栈中的。2、申请后系统的响应栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。堆:首先应该知道操作原创 2021-09-08 18:08:50 · 161 阅读 · 0 评论 -
C/C++常量指针和指针常量——const修饰指针
首先明确两个概念:指针是一个变量,这个变量指向一个内存地址,这个变量的值就是这个地址,访问这个地址(*p),即可得到指针指向的内容在C/C++里,变量名前面的,除修饰符外,都是变量类型一般const修饰指针,常见的就下面两种形式:int * const p1;int const * p2;此时P1是一个常量指针,const修饰的是P1这个变量的类型int *,常量指针的指向不可...原创 2020-02-24 10:46:58 · 311 阅读 · 0 评论 -
数据结构常见的几种排序算法实现
冒泡排序void BubbleSort(int* arr, int len) { assert(arr); int i = 0; int j = 0; for (i = 0; i < len - 1; i++) { bool flag = true; for (j = 0; j < len - 1 - i; j++) { if (a...原创 2020-01-29 21:55:46 · 216 阅读 · 0 评论 -
测试函数执行时间的8种方法——转
目前,存在着各种计时函数,一般的处理都是先调用计时函数,记下当前时间tstart,然后处理一段程序,再调用计时函数,记下处理后的时间tend,再tend和tstart做差,就可以得到程序的执行时间,但是各种计时函数的精度不一样.下面对各种计时函数,做些简单记录. 方法1,time()获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinate转载 2017-03-15 15:43:04 · 3893 阅读 · 0 评论 -
switch...case...和if...else...区别
switch 和 if 都是用来处理分支语句的,那么使用的时候,考虑到代码效率问题,就必须先来了解他们有什么区别。先来看看这两个语句的使用格式:if…else… if (表达式1) { 语句1; } else if (表达式2) { 语句2; } else if (表达式3) { 语句原创 2017-03-25 17:36:09 · 10325 阅读 · 0 评论 -
链表面试题——C语言
最近总结了一些有关用C语言实现单链表的面试题。代码如下: list.h文件——主要是条件编译以及各个函数的声明。#ifndef __LIST__#define __LIST__#include<stdio.h>#include<windows.h>#include<assert.h>typedef int DataType;typedef struct list{ struc原创 2017-04-12 19:01:16 · 549 阅读 · 0 评论 -
C++——【继承】总结
C++语言三大特性:继承, 封装, 多态。 我们来看一下继承那点事儿。概念—— 继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。这样产生新的类,称为派生类。继承呈现了面向对象程序设计的层次 结构,体现了由简单到复杂的认知过程。简单来说,继承最显著的特点就是:代码复用。比如有下面这样一个类:class Student原创 2017-03-07 18:08:49 · 607 阅读 · 0 评论 -
C++——多态总结
在博客多态&虚函数中主要对多态的一些基本概念和虚函数做了介绍,下面,我们来探究一下【虚表】。含有虚函数的类先来看看含有虚函数的类的大小吧!class B{public: virtual void Show() { cout << _b << endl; }public: int _b;}; 一眼看过去,这个类中只有一个int类型的变量_b,原创 2017-03-08 23:41:25 · 498 阅读 · 0 评论 -
C++——多态&虚函数
说到多态,就要先搞清楚对象的类型。对象类型分类 静态类型:对象声明时的类型,是在编译时确定的。 动态类型:目前所指对象的类型,是在运行时确定的。 具体看下面例子:class B{};class D :public B{};int main(){ D *d = new D; B *b = d; return 0;}多原创 2017-03-07 20:00:55 · 477 阅读 · 0 评论