![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++基础
C++基础
机器人梦想家
211&985本硕保送华中科技大学,韩国庆北大学联合培养。申请十多项专利,曾在武汉华中数控负责五轴加工中心轨迹速度优化,深圳汇川技术负责复杂数控系统设计开发,机器人独角兽企业担任TechLeader。立志在机器人工业自动化领域做出一番成绩,希望和大家一起进步!
展开
-
C++获取打印系统当前时间、日期
linux 环境下打印当前时间。原创 2022-11-29 15:55:52 · 1822 阅读 · 0 评论 -
C++、Python统计打印函数耗时
【代码】Time duration print。原创 2022-10-13 16:32:48 · 1091 阅读 · 0 评论 -
List、Queue、Stack的特点及基于链表结构的简单实现(C++)
本文实现了相对简单的List、Queue、Stack数据,通过C++实现,在本文中所有的用例都借于Struct Node,结构如下template <class T>struct Node{ T data; Node *pLast; Node *pNext; Node() { p原创 2021-03-10 20:24:00 · 684 阅读 · 0 评论 -
老程序员也要注意的派生类析构函数
关键字:纯虚函数、纯虚析构函数、派生类文章目录问题代码如下声明:实现:用户:运行结果第一种情况第二种情况第三种情况今天在写代码时发现一个底层的小坑,在delete子类的时候只会调用父类的析构函数不会调用子类的析构函数。这样可能导致的重大问题是,在析构子类对象时可能子类内部对象并未被释放,造成内存泄露。具体情况上代码分析。问题代码如下声明:/**************************************************************** Doc原创 2020-08-17 23:11:27 · 773 阅读 · 0 评论 -
简单实例带你完全理解常量指针、指针常量
通过简单代码来记录个人对于常量指针,指针常量的理解。常量指针 const int *p/int const *p不可以通过常量指针修改它指向对象的值,但是常量指针可以指向别的对象。对于上边两种写法,我发现实现的效果相同,具体代码如下: int x = 1, y = 2; const int *constIntPtr = &x; printf("const int *p is %d, Address is %d.\n", *constIntPtr, constIntP原创 2020-08-01 12:50:49 · 714 阅读 · 0 评论 -
i++与++i的区别——借用C++分析
对于c++中的i++与++i的分析文章目录环境题目代码运行结果分析例子1:例子2:例子3:例子4:例子5:总结最近看到两篇文章,文章均是针对Java的编译说明,对于c++我测试了一下实际有区别,相关题目我copy过来打算查源码解读一下原因。面试官:你说你懂i++跟++i的区别,那你会做下面这道题吗?最通俗易懂的i++和++i详解环境IDE: MSVC 2017Hardware: Intel CPUOS: win10 64bit题目示例1int i = 0;i = i++; Sy原创 2020-06-07 20:02:32 · 751 阅读 · 0 评论 -
vector 动态删除元素,释放内存的研究
文章目录一、c++ vector clear() 方法的问题:二、vector的内存释放:1. vector容器的内存自增长2. vector内存释放3. 利用vector释放指针三、vector::clear(),容器vector的clear函数详解。:四、vector容器删除某些元素且释放内存:1.size和capacity2.应用对于查到的相关资料做了梳理如果一定需要实现内存动态释放,第...原创 2019-10-12 10:43:42 · 7100 阅读 · 1 评论 -
string的使用
string的功能学习#include #include #include using namespace std;string itoString(int& tmpnum);void main(){ string str1 = "asdlkfjasdafsadf"; string str2 = "short"; cout"str1原创 2018-01-23 11:04:28 · 644 阅读 · 0 评论 -
数组指针和指针数组 实例说明
#include using namespace std;void main(){ //指针数组 --指针的数组 char *arr[4] = {"hello", "world", "shannxi", "xian"}; char *tmpChar = arr[0]; char tmpCharValue = *tmpChar; ch原创 2018-01-24 21:47:13 · 858 阅读 · 0 评论 -
vector<_T>::reverse_iterator 反向迭代器分析
对于逆向迭代器,默认读者了解以图片的含义 对于reverse_iterator在初次接触反转时总会搞混反转后指针所指的位置和内容,所以通过下边一张图来简单说明,同时在后边附上测试源代码 #include #include #include #include using namespace std;void main(){ vectorint> tes原创 2018-01-24 21:06:59 · 1623 阅读 · 0 评论 -
二叉树层次遍历(包含之字形遍历也有称之为锯齿遍历)
树的遍历是一个基础问题,也有很多的实际应用,可以用来找到匹配的字符串、文本分词和文件路径等问题。 数的遍历有两个基本的方法:深度优先遍历 和 广度优先遍历 。原创 2017-10-12 16:22:13 · 1801 阅读 · 0 评论 -
多维数组如何确定
假设有一个三维数组a[2][2][3]={{{1,2,3},{4,5,6}},{{7,8,9},{10,11,12}}}首先确定第一个[2] 即a[2]={n1,n2}包含这两个元素接下来到第二个是[2] 即a[2][2]={{n11,n12},{n21,n22}}接下来到第三个是[3] 即a[2][2][3]={{{n111,n112,n113},{n121,n122,n123}},原创 2017-08-17 00:24:50 · 1003 阅读 · 0 评论 -
最大序列和问题
该笔记是整理最大子序列的问题,通过这道题来说明时间复杂度的问题原创 2017-08-19 13:04:44 · 781 阅读 · 0 评论 -
虚函数解释说明
这个通用方法和第三部分开始处的代码有何联系呢?联系很大。由于A::fun()和A::fun2()是虚函数,所以&A::fun和&A::fun2获得的不是函数的地址,而是一段间接获得虚函数地址的一段代码的地址,我们形象地把这段代码看作那段CallVirtualFun。编译器在编译时,会提供类似于CallVirtualFun这样的代码,当你调用虚函数时,其实就是先调用的那段类似CallVirtualFun的代码,通过这段代码,获得虚函数地址后,最后调用虚函数,这样就真正保证了多态性。同时大家都说虚函数的效率低,转载 2017-08-20 22:20:04 · 877 阅读 · 0 评论 -
深入理解C++中public、protected及private用法
初学C++的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂。今天本文就来十分分析一下C++中public、protected及private用法。相信对于大家深入掌握C++程序设计会有很大的帮助。这里我们首先要明白下面几点。1.类的一个特征就是封装,public和private作用就是实现这一目的。所以:用转载 2017-09-14 22:20:10 · 717 阅读 · 0 评论 -
int double float大小范围
int 整型double 双精度浮点float 单精度浮点int 字节4 数值范围:-2147483648~+2147483647float 字节4 数值范围 3.4×10^-38~3.4×10^38(一位小数)double 字节8 数值范围 1.7×10^-308~1.7×10^308(2位小数)原创 2017-08-17 00:02:57 · 12615 阅读 · 3 评论 -
C++ vector的用法及algorithm.h中常用函数
这篇文章主要介绍了c++中,vector是一个十分有用的容器,下面对这个容器做一下总结c++ vector用法C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们自己实现这样的类。在标准C++中,用容器向量(vector)实现。容器向量也是一个类模板。标准库vector类型使用需要的头文件:#include 。vector 是一个类模转载 2017-08-31 00:26:13 · 4359 阅读 · 0 评论 -
两种C++模板的使用
实例演示告诉你如何使用模板!函数模板( Function templates)模板(Templates)使得我们可以生成通用的函数,这些函数能够接受任意数据类型的参数,可返回任意类型的值,而不需要对所有可能的数据类型进行函数重载。这在一定程度上实现了宏(macro)的作用。原创 2017-10-06 20:09:50 · 838 阅读 · 0 评论 -
C++声明和定义的区别
《C++Primer》第四版 2.3.5节中这么说到:①变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。②变量声明:用于向程序表明变量的类型和名字。③定义也是声明:当定义变量时我们声明了它的类型和名字。④extern关键字:通过使用extern关键字声明变量名而不定义它。 1.定义也是声明,extern声明不是定义,即不分配存储空间。e转载 2017-10-02 22:26:33 · 687 阅读 · 0 评论 -
assert.h是什么及使用方法
NVIDIA面试笔试题之一:assert.h是c标准库的一个头文件,该头文件的主要目的就是提供一个assert的宏定义。assert只是对所给的表达式求值,就像if判断语句中一样,然后如果该值为真则正常运行,否则报错,并调用abort(),产生异常中断,exit出来。该宏可以屏蔽掉,只需在包含assert.h之前#define NDEBUG,想开再#undef。从这里可转载 2017-07-13 16:10:05 · 11017 阅读 · 0 评论