
C++
文章平均质量分 76
little豪斯
这个作者很懒,什么都没留下…
展开
-
关于函数重载(overload)
这个之前面试的时候有问到过,应该仔细总结一下1:什么是 函数重载?函数重载就是 用同一个函数名定义不同的函数。当函数名和不同的参数搭配时函数的含义不同。重载函数在本质上是相互独立的不同函数(静态链编)。2:怎样判断 是否是函数重载? 名称+参数,即函数名称相同,参数不一样(个数/类型)。注意:函数返回值不是函数重载的判断标准。举个栗子:# include "iostre原创 2017-12-08 11:56:43 · 463 阅读 · 0 评论 -
数组类的各项重载:[] = == !=
TestArray.cpp(主函数)#include "iostream"using namespace std;#include "MyArray.h"/* 完成重载 1:重载[] 2:重载= 3:重载== 4:重载!=*/void main(){ MyArray a1(6); /* for (int i = 0; i < a1.length(); ...原创 2018-11-06 00:54:06 · 538 阅读 · 0 评论 -
C++中的构造函数和析构函数
1:构造函数处理对象的初始化。特殊的成员函数,不需要用户来调用,而是在建立对象的时候自动执行。特点:①与类名相同②没有任何返回类型③定义时可以有参数,可以无参数2:析构函数语法 :~classname()清理对象,析构函数在对象销毁时自动被调用特点:①没有参数②没有任何返回类型#include "iostream"using namespace std;class T...原创 2018-11-02 12:38:25 · 363 阅读 · 0 评论 -
C++中的深拷贝与浅拷贝
浅拷贝问题抛出:#define _CRT_SECURE_NO_WARNINGS#include "iostream"using namespace std;/* 浅拷贝问题抛出*/class ShallowCopy{public: ShallowCopy(const char * myp) { len = strlen(myp); p = (char *)mall...原创 2018-11-03 13:29:11 · 295 阅读 · 0 评论 -
C++对C的函数扩展
1: inline内联函数C++中的const常量可以替代宏常数定义,如const int a = 3 # define a 3C++中使用内联函数代替宏代码片段,使用inline关键字声明内联函数。内联函数声明时inline关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求。内联函数在编译时直接将函数体插入函数调用的地方。inline只是一种请求,编译器不一定允许原创 2017-12-07 22:38:35 · 304 阅读 · 0 评论 -
const常引用
前面说的是普通引用,普通引用相当于 int * const var 。何为常引用? 举个栗子: int you = 18; const int & me = you; 常引用是让变量引用只读属性,不能通过me去修改you。# include "iostream"using namespace std;void main(){ { //普通引用 int a =原创 2017-12-07 18:04:16 · 307 阅读 · 0 评论 -
引用
我们知道,变量名是一段连续存储空间的别名,是一个标号(王老师口中的“门牌号”)。程序中通过变量来申请并且命名内存空间,通过变量的名字我们可以使用存储空间。那么问题来了,对一段连续的内存空间,我们只能取一个名字吗? 这就引入了 引用 的概念。1:关于引用引用是C++的概念,属于C++编译器对C的扩展。引用可以看做一个已定义变量的别名。语法:type & name = var ;原创 2017-12-06 20:43:46 · 1118 阅读 · 0 评论 -
C++对C的增强
主要从以下几个方面1:namespace 命名空间 C++命名空间的定义:namespace name {....} 1.1 namespace:标识符的各种可见范围, std是C++标准命名空间。C++标准程序库中的所有标识符都被定义于名为std的标准命名空间中。1.2 C中的命名空间:在C语言中只有一个全局作用域,C语言中的所有的全局标识符共享同一个作用域,标识符之间可能发生冲突。C原创 2017-12-04 22:51:10 · 298 阅读 · 0 评论 -
C和C++中的const
const是定义常量 → const意味着只读1:关于前前后后的const1: const int a / int const a //代表一个常整形数,不能修改。 如const int a = 10; a = 11;×这是错误的。2: const int * b //b是一个指向常整形数的指针,即b所指向的内存数据不能修改,但是它本身可以修改。3原创 2017-12-05 12:23:58 · 247 阅读 · 0 评论 -
关于排序
之前在医院陪家人的时候,稍微整理了一下常用排序的思路,后面再把其它排序补上。其实STL提供了蛮多的排序,很好用。不过还是掌握这些基本的算法比较好。...原创 2019-06-15 19:18:21 · 190 阅读 · 0 评论