C++
文章平均质量分 62
雪易
从事医学图像图形算法相关的工作,包括图像的三维重建、分割、配准以及网格处理等,熟悉OpenCV、VTK、ITK等第三方库;CSDN一直在线,欢迎各位小伙伴骚扰
展开
-
【VS_C++基础知识】
本文分享VS_C++的基础知识,希望对各位小伙伴有所帮助!目录1.2.3.1. main(int argc, char * argv[])参数说明与调试》常见main函数的写法int main()其中:argc 指传入参数的个数(以空格分隔);argv 存储了所有的命令行参数。\n";int i;for (i = 0;i < argc;从命令行中运行 test.exe para1 para2 para3。原创 2023-08-24 10:35:35 · 222 阅读 · 0 评论 -
C++ 指针
目录实例什么是指针?C++ 中使用指针NULL(nullptr)指针学习 C++ 的指针既简单又有趣。通过指针,可以简化一些 C++ 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C++ 程序员,学习指针是很有必要的。正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址:实例#include <io转载 2020-12-22 16:38:12 · 124 阅读 · 0 评论 -
2020-12-22
const 是 constant 的缩写,本意是不变的,不易改变的意思。在 C++ 中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。一、const修饰普通类型的变量const int a = 7; int b = a; // 正确a = 8; // 错误,不能改变转载 2020-12-22 15:34:29 · 142 阅读 · 0 评论 -
C++ 关键字《static》
1. 什么是static?static 是 C/C++ 中很常用的修饰符,它被用来控制变量的存储方式和可见性。1.1 static 的引入我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义为全局的变量,但定义一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅只受此函数控制)转载 2020-12-22 15:01:37 · 1546 阅读 · 0 评论 -
C++ 关键字《inline》
1、引入 inline 关键字的原因在 c/c++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序出错的问题,如,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。下面我们来看一个例子:实例#include <stdio.h> inline const char转载 2020-12-22 14:13:55 · 76 阅读 · 0 评论 -
C++ 链表
链表是由一系列连接在一起的结点构成,其中的每个结点都是一个数据结构。链表的结点通常是动态分配、使用和删除的,允许链表在程序运行时增大或缩小。如果需要将新信息添加到链表中,则程序只需分配另一个结点并将其插入到系列中。如果需要从链表中删除特定的信息块,则程序将删除包含该信息的结点。链表对数组和矢量的优点尽管链表的编码和管理比数组更复杂,但它们有一些明显的优势。首先,链表可以容易地扩大或缩小。实际上,程序员并不需要知道链表中有多少个结点。它们只是根据需要在内存中创建。有人可能会争辩说,链表并不优于矢量转载 2020-08-31 17:59:45 · 191 阅读 · 0 评论 -
C++ 栈
1. 栈的简介1.1栈的特点栈(stack)是以一种线性存储结构,它具有一下特点:栈中的数据元素遵守“先进后出(First in Last out)”的原则,简称FILO结构;限定只能在栈顶进行插入和删除操作。1.2栈的相关概念栈的相关概念:1.2.1 栈顶与栈底:允许元素插入与删除的一端称为栈顶,另一端成为栈底。1.2.2 压栈:栈的插入操作,叫做进栈,也称压栈,入栈。1.2.3 弹栈:栈的删除操作,也叫做出栈。例如我们有一个存储整型元素的栈,我们依次压栈:{1,2,3}转载 2020-08-31 14:06:22 · 16244 阅读 · 0 评论 -
C++ map用法总结
1,map简介map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次; 第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有的数据都是有序的,后边我们会见识到有序的好处。比如一个班级中,每个学生的学号跟他的姓名就存在著一对转载 2020-08-26 16:44:24 · 172 阅读 · 0 评论 -
QT 调用外部C++动态链接库方法
1. 新建Qt Widgets Application应用程序结构及对话框样式:点击“计算”时,采用Dll2中add方法进行计算。关于Dll2中add方法见:add方法2. 导入Dll2库.pro文件中添加的信息3. 添加相关的.h文件及代码 ...原创 2020-06-18 15:08:22 · 2839 阅读 · 0 评论 -
VS2017 创建和使用具有导出项的动态链接DLL库
本文介绍一种具有导出项的动态DLL库,会自动生成.lib和.dll文件,无需手动设置.lib生成的选项。创建1. 文件--新建--项目--Visual C++/Windows桌面--具有导出项的(DLL)动态链接库。2. 设置好DLL库放置的路径及名称,点击确定,初始化DLL库。此时,VS已经自动帮我们创建了一个导出类,库中的方法可以在此添加3. 在Dll2中添加add函数,分别在Dll2.h中添加头文件,在Dll2.cpp文件中添加定义,如下4. 库中函数添加完毕后原创 2020-06-18 13:38:02 · 3813 阅读 · 0 评论 -
C++中 #ifdef 和#endif的作用
一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。条件编译命令最常见的形式为:#ifdef 标识符程序段1#else程序段2#endif它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。其中#else部分也可以没有,即:#ifdef...转载 2020-06-15 14:33:55 · 277 阅读 · 0 评论 -
C++ 数组的删除
用delete释放的只能是用new动态分配的数组空间,若数组不是动态分配的则不能用delete释放。举两个例子详细说明一下:int a[100];这个数组a是不能用delete释放空间的,因为这个数组a在声明时就已经说明了空间的大小,在最后程序会自动释放这个空间。int *b;b=new int[100];这个要在最后用delete []b; 语句来动态释放,因为数组b是一个动态数组,...转载 2019-11-07 16:27:13 · 5406 阅读 · 0 评论 -
C++ 获取数组长度
float b[4];b[0] = 1.0;b[1] = 2.0;b[2] = 3.0;b[3] = 4.0;数组长度:int length = sizeof(b) / sizeof(b[0]) ;int *b; b = new int[4];sizeof无法获取此方法创建的动态数组长度。...原创 2019-11-07 16:18:10 · 594 阅读 · 0 评论