c++
文章平均质量分 63
@菜鸟一枚
暂无
展开
-
c++智能指针(面试)
智能指针原创 2021-10-04 20:13:41 · 617 阅读 · 0 评论 -
c++关键字之inline(面试)
inlin原创 2021-09-30 18:13:19 · 361 阅读 · 0 评论 -
c++STL容器之map/multimap
1.map的基本概念map是一种关联式容器,map的特性是所有元素会根据元素的键值自动被排序。map中的所有元素都是pair,同时拥有实值(value)和键值(key)。pair的第一个元素被称为键值,第二个元素被称为实值。map不容许两个元素由相同的键值。注意:不能通过迭代器改变map元素的键值,因为map元素的键值关系到map元素的排列规则。任意修改map元素的键值将会严重破坏map组织。由于RB-tree是一种平衡二叉搜索树,自动排序的效果很不错,所以标准的STLmap以RB-tree为底层机制原创 2021-09-30 13:02:01 · 143 阅读 · 0 评论 -
sizeof与strlen的区别(面试)
sizeofsizeof是c/c++的运算符,作用是获取对象的字节大小,在编译时期计算。具体而言,当参数分别如下时,sizeof返回的值表示的含义如下:数组——编译时分配的数组空间大小;指针——存储该指针所用的空间大小;类型——该类型所占的空间大小;对象——对象的实际占用空间大小;函数——函数的返回类型所占的空间大小,函数的返回类型不能是void。#include<iostream>using namespace std;class A{};double f(){原创 2021-09-29 00:12:58 · 146 阅读 · 0 评论 -
c++数据结构之树
树的定义原创 2021-09-22 22:54:02 · 8641 阅读 · 0 评论 -
俄罗斯方块(c++,vs2013,亲测可用)
一、参考文章兔老大的文章二、源代码#include<iostream>#include<stdlib.h>#include<windows.h>#include<time.h>#include<conio.h>using namespace std;#define A1 0//A代表长条型,B为方块,C为L型,D为闪电型(实在无法描述那个形状)#define A2 1#define B 2#define C11 3#原创 2021-09-22 15:36:01 · 543 阅读 · 0 评论 -
c++动态库与静态库
什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序员都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a,.lib)和动态库(.so,.all)。所谓静态,动态是指链接。回顾一下,将一整个程序编译成可执行程序的步骤:![在这里插入图片描述](https://img-blog.csdnimg.cn/a693a678ff1e4a238f静态库之所以称为静态库,是因原创 2021-09-16 14:25:20 · 345 阅读 · 0 评论 -
vs2013配置gdal(含vs2013编译过的gdal文件夹)
一、准备资源二、配置过程原创 2021-09-15 17:11:53 · 544 阅读 · 1 评论 -
vs2013配置liblas(含vs2013pcl配置)
一、PCL配置二、liblas配置原创 2021-09-15 10:33:11 · 392 阅读 · 0 评论 -
c++关键字static的用法(面试)
一、static在C语言中的用法二、static在c++中的用法原创 2021-09-13 21:03:15 · 255 阅读 · 0 评论 -
c++之变量的存储方式和生存期(面试)
动态存储与静态存储局部变量的存储类别全局变量的存储类别原创 2021-09-13 12:40:29 · 227 阅读 · 0 评论 -
c++关键字virtual的用法(面试)
virtual在c++继承中的用法virtual在c++多态中的用法原创 2021-09-11 21:28:10 · 1442 阅读 · 0 评论 -
vs2013配置qt5.7.0
一、安装Qt Visual Studio Tools打开vs3013,如下图所示点击工具菜单,打开联机和更新对话框,如下图所示左边选择联机,右上角搜索qt,如下图所示点击安装即可。由于本人已经安装好了,所以会是一个勾勾。二、安装qt4.7.0注意:这里安装的是qt-opensource-windows-x86-msvc2013_64-5.7.0.exe程序,而不是别的不带msvc2013的exe程序。参考如下文章qt下载新手推荐下载完qt-opensource-windows-x8原创 2021-09-10 23:14:38 · 2704 阅读 · 1 评论 -
qt官网下载指导(新手易犯错误)
gt下载官方网站。https://download.qt.io/qt下载官网截图如下在上面的截图中我们可以看到有一个**achive/**文件夹,点开里面便是下载的资源文件夹了。截图如下其中**qt/文件夹里面包含了各个版本的qt的下载,截图如下其中qtcreator/**文件夹里面包含了各个版本的qtcreater的下载,截图如下其中**vsaddin/**文件夹里面包含了各个版本的vsaddin的下载,截图如下...原创 2021-09-10 19:53:38 · 5457 阅读 · 0 评论 -
c++之多态
一、多态性的概念多态性是面向对象程序设计的一个重要特征。如果一个语言只支持类而不支持多态,是不能称为面向对象语言的,只能说是基于对象的,如Visual Bsaic。c++支持多态性,利用多态性可以设计和实现一个易于扩展的系统。c++中这样描述多态:向不同的对象发送同一个信息,不同的对象在收到时会产生不同的行为。所谓消息,就是调用函数,不同的行为,就是不同的实现,即执行不同的函数。在c++中,多态的表现形式之一是:具有不同功能的函数可以用同一个函数名,这样就可以实现用一个函数名调用不同内容的函数。从原创 2021-05-13 17:11:18 · 262 阅读 · 0 评论 -
c++之继承与派生
前言面向对象程序设计有四个主要的特点:抽象,封装,继承和多态。继承性是面向对象设计最重要的特征,可以是如果不掌握继承性,就没有掌握类的对象的精华,就没有掌握面向对象程序设计的真谛。本篇文章主要讲的就是c++继承的相关知识点。一、继承与派生的概念面向对象技术强调软件的可重用性,c++的可重用性就是通过继承来实现的。一个新类从已有的类哪里获得其已有的特性,这种现象称为类的继承。从另外一个角度来说,从一个已经有的类产生一个新的子类,称为类的派生。关于基类与派生类的关系,可以表述为:派生类是基类的具体化,而基原创 2021-05-12 20:34:33 · 834 阅读 · 0 评论 -
c++之运算符重载
前言本篇文章主要写的是关于c++运算符重载的问题,运算符重载是c++中比较重要的概念。本篇文章用了大量的实例来说明c++运算符重载,因此文章的篇幅可能会比较大。一、什么是运算符重载在c++中我们都知道有函数重载的概念,在类和对象的设计中还设计到了成员函数重载。同样c++也提供了运算符的重载,所谓重载,就是赋予新的含义。实际上我们在前期的学习过程中已经不知不觉使用了运算符重载,如"<<“和”>>“本来是c++的位移运算符,但是却可以用来输入与输出,这是因为c++系统对”<&原创 2021-05-11 13:18:57 · 3424 阅读 · 0 评论 -
c++类和对象之友元
友元的目的:让一个函数或者一个类可以访问另一个类中的私有成员友元的关键字:friend友元的三种实现1、将普通函数(全局函数)声明为友元在类内将函数声明为友元函数即可。注意:在普通函数内部引用这些数据成员时,必须要加上对象名,因为普通函数不是类的成员函数,没有this指针,不能引用默认类的数据成员,因此必须要指明访问的对象。2.成员函数作为友元3.类作为友元...原创 2021-05-10 12:17:17 · 131 阅读 · 0 评论 -
c++类和对象之静态成员
我们知道通过全局变量可以实现数据共享,如果一个文件有多个函数,在每一个函数中都可以改变全局变量的值,全局变量的安全性达不到保障,因此在实际工作中很少用到全局变量。如果想在同类的多个对象之间实现数据共享,也不要使用全局对象,可以使用静态的数据成员。全局变量破坏了封装的原则,不符合面向对象程序的要求。一、静态数据成员静态数据成员是一种特殊的数据成员,它以关键字static开头。静态数据成员的特点:1.所有的对象共享一份数据2.在编译阶段分配内存3.在类内声明,类外初始化注意:1.不能用初始化原创 2021-05-09 20:03:00 · 309 阅读 · 0 评论 -
c++之const指针
可以指定指针变量是一个常量,或者指定指针变量指向的对象是一个常量。有以下几种情况一、指向常量的指针变量形式为:const 类型名 * 指针变量名;int a=12;b=15;const int *p=&a;*p=15//非法a=15;//合法分析:用指向常量的指针变量只是限制了通过指针变量改变它指向的对象的值,但是可以通过它本身来改变它的值。指向常量的指针变量一般用处是作为函数参数二、常指针(常地址)形式为:类型名 * const 指针变量名;说明:1.这种指针变量称为原创 2021-05-09 16:46:45 · 1981 阅读 · 0 评论 -
c++类和对象之对象指针
一、指向对象的指针在建立对象时,编译系统会为每一个对象分配一定的存储空间,以存放其数据成员。对象空间的起始地址就是对象的指针。可以定义一个指针变量,用来存放对象的地址,这就是指向对象的指针。定义指向对象的指针的一般形式:类名 * 对象指针名;二、指向对象成员的指针对象有地址,存放对象的起始地址的指针变量就是指向对象的指针变量。对象中的成员也有地址,存放对象成员的起始地址的指针变量就是指向对象成员的指针变量。1.定义指向对象数据成员的指针变量的一般形式数据类型名 * 指针变量名int *原创 2021-05-09 16:17:17 · 2053 阅读 · 0 评论 -
c++类和对象之析构函数
析构函数在上一篇文章中,我们介绍了对象的初始化工作。详情请参考对象的初始化即构造函数下面来介绍以下析构函数。类型:~类名(){};析构函数也是一种特殊的成员函数,它的作用与析构函数相反,当对象的生命周期介绍时,会自动调用析构函数。具体来说出现以下四种情况,程序会执行析构函数1.如果在一个函数中定义了一个对象(假设是局部对象),当这个函数调用结束时,对象应该释放,在对象释放前自动执行析构函数。2.静态局部对象在函数调用结束时对象并不释放,因此也不调用析构函数,只在main函数调用结束或者调用e原创 2021-05-09 14:51:59 · 617 阅读 · 0 评论 -
c++类和对象之对象的初始化
1、构造函数概述在c++程序中对象的初始化是一个不可缺少而十分重要的内容。为了对对象进行初始化,c++提供了构造函数来处理对象的初始化,构造函数是一种特殊的成员函数,与其他函数不同,构造函数时在建立对象时自动执行。构造函数的作用:对象的初始化构造函数的调用:由编译器自动调用构造函数的调用时机:在创建对象时,系统会为该对象分配内存空间,并调用构造函数进行初始化构造函数的要求:函数名与类名相同(以便编译器能够识别它,把它当作构造函数来处理),没有类型,不返回任何值。注意:1.如果用户没有自己定义构原创 2021-05-09 13:46:18 · 3403 阅读 · 0 评论 -
c++类和对象之封装的权限
一、封装的访问权限public:类内可以访问,类外可以访问protected:类内可以访问,类外不可以访问private:类内可以访问,类外不可以访问二、c++中struct与class的区别c++中struct与class的唯一区别就是默认的访问权限不同struct默认访问权限为publicclass默认访问权限为public...原创 2021-05-08 19:43:24 · 101 阅读 · 0 评论 -
c++引用
什么是变量的引用对一个数据可以建立一个引用,它的作用是为变量起一个别名,这是c++对c的一个主要扩充。注意引用不是一种独立的数据类型,对引用只有声明,没有定义。声明一个引用时,必须同时使之初始化。特殊情况,可以不用初始化,如引用作为函数形参时,可以不用初始化,而在函数调用时虚实结合实现的。在声明一个引用后,不能使之作为另外一个变量的引用。不能建立引用数组不能建立引用的引用可以取引用的地址区别引用声明符&和地址运算符&引用作为函数参数c++之所以增加引用机制,主要是把原创 2021-05-08 16:54:42 · 202 阅读 · 0 评论 -
c/c++面试之内存空间的分配与撤销
在软件开发过程中,常常需要动态的分配与撤销内存空间,例如对动态链表中节点的插入与删除。C语言实现利用malloc与free函数来分配和撤销内存空间//malloc函数原型void *malloc(unsigned int size);int *p=(int *)malloc(sizeof(int)*100);//free函数原型void free(void *p);free(p);c++实现利用new与delete运算符来分配和撤销内存空间int *p=new int;int *p原创 2021-05-07 22:20:25 · 277 阅读 · 0 评论 -
c/c++内存四区模型(面试)
c/c++程序执行时将内存分为代码区,栈区,堆区,全局区。代码区:存放函数体的二进制代码,有操作系统管理。代码区特点:共享,只读。全局区:存放全局变量,静态变量以及常量,常量还可分为字符串常量与其他常量(全局常量)。全局区特点:该区的数据在程序结束后由操作系统释放#include <iostream>using namespace std;int A = 10;int B = 10;static int SA = 10;static int SB = 10;const in原创 2021-05-07 17:31:45 · 138 阅读 · 0 评论 -
c/c++面试之局部变量与全局变量
局部变量函数内部定义的变量是局部变量,它只在本函数范围内有效。注意点:mian函数中的变量也是局部变量。这个初学者容易弄错。局部变量的分类自动变量。函数中的局部变量如果不使用static修饰,默认情况是使用auto修饰。编译系统对其动态分配存储空间,存储在栈区。静态局部变量。函数中的局部变量使用static修饰,成为静态局部变量,存储在静态存储区。寄存器变量。一般不使用。对静态局部变量的说明。静态局部变量在编译时赋初值,且只赋值一次。如果定义局部静态变量没有赋初值,则编译时自动赋初值。而原创 2021-05-07 16:25:33 · 230 阅读 · 0 评论 -
c++对c语言的加强
1、const增强C语言中const修饰的变量为常变量,但是可以通过指针间接来修改。但是在c++中不可以通过指针来间接修改,在c++中const修饰的常变量与c中const修饰的常变量存储的位置不一样。#include<stdio.h>int main(){ const int a=10; int *p=&a; *p=30; printf("%d",a); return 0; }c语言运行结果如下:c++编译过程会出错注意:上述两个编译运行的环境不一样,原创 2021-05-07 15:50:20 · 138 阅读 · 0 评论