C++
阿狸茜茜
爆发我的小宇宙,做正能量的小女子。
展开
-
C++之模板
如何编写一个通用的加法函数呢?1、使用函数重载,针对每个所需要的相同行为的不同类型重新实现它。缺点:只要有新的类型出现,就要重新添加对应函数; 除类型外,所有函数的函数体都相同,代码的复用率不高; 如果函数只是返回值类型不同,函数重载不能解决; 一个方法有问题,所有的方法都有问题,不好维护。2、使用公共基类,将通用原创 2016-06-21 16:53:10 · 238 阅读 · 0 评论 -
C++小结
1、交换两个数:设置tmp;用简单运算:位运算(异或)(数或者是函数)。 a=a+b,b=a-b,a=a-b;a=a*b,b=a/b.a=a/b;2、转义字符,要输出???就\?\?\?加入反斜杠字符。\t表示一个字符,水平制表符。3、常量分为:字符常量、整数常量、浮点数常量(floating point)、枚举常量(enum)、标识符常量.4、变量:char 1;sho...原创 2019-06-28 18:54:16 · 111 阅读 · 0 评论 -
RALL
产生原因:在C++中,如果在这个程序段结束时需要完成一些资源释放工作,那么正常情况下自然是没有什么问题,但是当一个异常抛出时,释放资源的语句就不会被执行。于是Bjarne Stroustrup就想到确保能运行资源释放代码的地方就是在这个程序段(栈帧)中放置的对象的析构函数了,因为stack winding会保证它们的析构函数都会被执行。将初始化和资源释放都移动到一个包装类中的...原创 2019-06-28 18:52:24 · 1341 阅读 · 0 评论 -
浅谈C++中指针和引用的区别
指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。1.指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int a=1;int *p=&a;int a=1;int &b=a;原创 2016-08-09 09:16:53 · 237 阅读 · 0 评论 -
C/C++中关键字extren作用总结
C/C++中关键字extren作用总结原创 2016-06-01 17:08:04 · 12004 阅读 · 0 评论 -
C/C++struct与C++中的struct/class
(1)、C/C++中的structC中的struct只是一个简单单单结构体,其中只能声明变量,而不能声明函数,而C++中的struct中却可以有函数。C++中struct成员默认访问权限为public,这是为了兼容C。在C中没有访问权限这一说。(2)、C++中的struct/class(转)1.字面上的区别在字面上struct是structure的缩原创 2016-08-08 13:11:32 · 403 阅读 · 0 评论 -
什么是递归?——浅显易懂
什么是递归?if (你懂)点这里: 点击打开链接else点进去就知道了: 点击打开链接如果你看完上面的说明,下面的解释将会让你领悟递归的真谛!递归是设计和描述算法的一种有力的工具,由于它在复杂算法的描述中被经常采用,为此在进一步介绍其他算法设计方法之前先讨论它。 能采用递归描述的算法通常有这样的特征:原创 2016-08-08 13:11:46 · 1474 阅读 · 0 评论 -
C++中的单例模式
C++中的单例模式软件开发常用设计模式—单例模式总结(c++版)单例模式:就是只有一个实例。singleton pattern单例模式:确保某一个类在程序运行中只能生成一个实例,并提供一个访问它的全局访问点。这个类称为单例类。如一个工程中,数据库访问对象只有一个,电脑的鼠标只能连接一个,操作系统只能有一个窗口管理器等,这时可以考虑使用单例模式。众所周知,c+原创 2016-08-27 20:20:47 · 515 阅读 · 1 评论 -
malloc/calloc/realloc/free与new/delete的对比
一、C语言中动态申请内存(函数)【堆上】(1)malloc函数:函数原型: void* malloc(size_t size); void* malloc(count *sizeof(*pointer));函数功能:动态申请size个字节大小的内存空间,返回该段空间的首地址,该段空间里面的内容是随机值。函数参数:malloc()函数有一个参数,即要分配的内存空原创 2016-07-29 12:24:15 · 708 阅读 · 0 评论 -
C/C++中关键字static作用总结
最后对static的三条作用做一句话总结:static的最主要功能是隐藏,static变量存放在静态存储区,具备持久性和默认值0。原创 2016-05-31 15:59:13 · 278 阅读 · 0 评论 -
C/C++关键字const作用总结
(1)在C语言中用const去修饰一个变量,表示这个变量是只读的,不可通过显式的调用a去修改a的值,并且此时a仍然是一个变 量,不能等同于常量(不可修改的变量); (2)要注意const在声明变量时所处的位置,位置不同,在意义上可能会有很大的不同。 如果const在'*'左边,则表示指针指向的变量的值不可变; 如果const在'*'右边,则表示指针的值是不可变的;(“近水楼台先得月”)分析的时候要:先忽略类型名(编译器解析的时候也是忽略类型名),我们看co原创 2016-06-01 09:15:22 · 564 阅读 · 0 评论 -
C++中类的多态和虚函数的使用
C++的三大特性:封装、继承和多态。 (一)这里主要讨论多态: 类的多态特性是支持面向对象的语言最主要的特性,有过非面向对象语言开发经历的人,通常对这一章节的内容会觉得不习惯,因为很多人错误的认为,支持类的封装的语言就是支持面向对象的,其实不然,Visual BASIC 6.0是典型的非面向对象的开发语言,但是它的确是支持类,支持类并不能说明就是支持面向对象,能够解决多态问题的原创 2016-06-15 17:00:58 · 293 阅读 · 0 评论 -
C++继承和菱形继承中的虚继承
(1)C++继承概念:C++继承分为公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。在C++语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承,还有一种结构特殊的菱形继承。(2)三种继承方式的总结:1. 公有继承(public)公有继承的特点是基类的公有原创 2016-06-17 12:17:57 · 753 阅读 · 0 评论 -
C/C++面试问题总结
1、指针多次释放会有什么结果? #include<stdio.h> intmain() { int*p=(int*)malloc(sizeof(int)*5); free(p); //p=NULL; free(p); re...原创 2019-06-28 18:56:50 · 199 阅读 · 0 评论