C++
会飞的码
这个作者很懒,什么都没留下…
展开
-
类模板实现通用数组类及注意事项
**案例描述:** 实现一个通用的数组类,要求如下:1.可以对内置数据类型以及自定义数据类型的数据进行存储2.将数组中的数据存储到堆区3.构造函数中可以传入数组的容量4.提供对应的拷贝构造函数以及operator=防止浅拷贝问题5.提供尾插法和尾删法对数组中的数据进行增加和删除6.可以通过下标的方式访问数组中的元素7.可以获取数组中当前元素个数和数组的容量MyArray.cpp/*类模板案例案例描述: 实现一个通用的数组类class MyArray{ private:原创 2020-08-24 15:04:03 · 1049 阅读 · 0 评论 -
深浅拷贝和多重继承/C++
原创 2020-08-21 17:28:22 · 216 阅读 · 0 评论 -
2019 中兴秋招笔试题1
2019.8.25中兴1.数组按数字出现频次排序题意为从一个乱序数组中,将其中的整数按照出现的频次多少来排列,比如输入为[1,2,1,2,3,3,1,6,4,4,4,4],那么输出就应该为[4,4,4,4,1,1,1,2,2,3,3,6],其中,如果某两个数字的出现频次相同,那么就按照输入用例中的原顺序排列思路: 1、利用map记录, 2、然后交换key和...原创 2019-12-25 09:46:43 · 919 阅读 · 0 评论 -
秋招c++面试问题
1.宏定义宏定义只是用宏名对一个字符串进行简单的替换优点:(1) 方便程序的修改:(2) 提高程序的运行效率2.内存分配方式C++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系...原创 2019-12-25 09:45:38 · 288 阅读 · 0 评论 -
C++中的struc和class的区别
转载来源:http://blog.sina.com.cn/s/blog_48f587a80100k630.htmlC++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!!既然这些它都能实现,那它和class还能有什么区...转载 2019-05-17 10:26:23 · 274 阅读 · 0 评论 -
STL之Stack栈基本功能
bool push(elemType x); //进栈操作;bool pop(elemType &x); //出栈操作;void clear(); //清空栈;bool isEmpty(); //判断是否栈空;bool isFull(); //判断是否栈满;void print(); //打印栈内元素;...原创 2019-05-27 20:07:30 · 502 阅读 · 0 评论 -
cuda+opencv多线程加速笔记
当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。一个进程中的所有线程都在该进程的虚拟地址空间中,使用该进程的全局变量和系统资源。操作系统给每个线程分配不同的CPU时间片,在某一个时刻,CPU只执行一个时间片内的线程,多个时间片中的相应线程在CPU内轮流执行,由于每个时间片...转载 2019-06-04 09:40:17 · 1152 阅读 · 0 评论 -
进程间通信的方式——信号、管道、消息队列、共享内存
进程间通信的方式——信号、管道、消息队列、共享内存多进程:首先,先来讲一下fork之后,发生了什么事情。由fork创建的新进程被称为子进程(child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是新进程(子进程)的进程 id。将子进程id返回给父进程的理由是:因为一个进程的子进程可以多于一个,没有一个函数使一个进程可以获得其所有子进...原创 2019-07-27 10:35:35 · 155 阅读 · 0 评论 -
HTTP2.0与HTTP1.0的优缺点
HTTP1.0的缺陷每个请求都需单独建立连接(keep-alive能解决部分问题单不能交叉推送)每个请求和响应都需要完整的头信息数据未加密HTTP2.0的优势多路复用压缩头信息请求划分优先级支持服务器端主动推送参考链接:...原创 2019-07-27 10:37:01 · 1826 阅读 · 0 评论 -
数据结构-链表问题
1.快慢指针找中点或者某一个位置2.链表翻转3节点数据比较原创 2019-05-12 15:47:48 · 344 阅读 · 0 评论 -
STL / map容器用法总结
map介绍map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有...原创 2019-05-20 21:31:05 · 303 阅读 · 0 评论 -
公有成员 私有成员 保护成员以及派生类引用解释
*公有成员 私有成员 保护成员公有成员:关键字public将类成员声明为公有成员,可以被类对象及其所有成员访问。私有成员:关键字private将类成员声明为私有成员,不能被类对象直接访问。保护成员:关键字protected修饰的成员声明为保护成员,不能被类对象直接访问。其访问权限与私有成员近似,所不同的是其可对于基类的派生类是可见的,而私有成员则不可见。因此,为了便于派生类的访...原创 2019-03-22 19:41:17 · 1493 阅读 · 0 评论 -
C++ 封装 详解
封装封装的意义: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏。在面向对象程序设计中数据被看作是一个中心的元素并且和使用它的函数结合的很密切,从而保护它不被其它的函数意外的修改。1. 保护数据成员,不让类以外的程序直接访问或修改,只能通过提供的公共的接口访问==>数据封装。2. 方法的细节对用户是隐藏的,只要接口不变,内容的修改不会影响到外部的调用者==>方法封装。...原创 2019-03-31 20:54:25 · 1761 阅读 · 0 评论 -
C++ 继承
继承:继承主要实现重用代码,节省开发时间。1、C#中的继承符合下列规则:继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。派生类应当是对基类的扩展。派生类可以添加新的成员,但不能除去已经继承的成员的定义。构造函数和析构函数不能被继承。除此之外的其它成员,不论对它们定义了怎样的访问方式,都能被继承。基类...原创 2019-03-31 20:55:31 · 159 阅读 · 0 评论 -
C++ 多态
多态:1、“一个接口,多种方法”同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。多态的三个条件:a. 继承的存在(继承是多态的基础,没有继承就没有多态).b. 子类重写父类的方法(多态下调用子类重写的方法).c. 父类引用变量指向子类对象(子类到父类的类型转换).重载(overload)和重写(override)是实现多态的两种主要方式。2、实现多...原创 2019-03-31 20:56:50 · 90 阅读 · 0 评论 -
C++纯虚函数 virtual
纯虚函数和抽象类存在的意义:一、定义 纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0” virtual void funtion1()=0二、引入原因 1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。 2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派...原创 2019-03-31 20:58:15 · 393 阅读 · 0 评论 -
C++ 类型转换
C++中四种类型转换方式C++引入了4中新的类型转换操作符**1.static_cast2.const_cast3.dynamic_cast4.reinterpret_cast1.static_cast最常用的类型转换符,在正常状况下的类型转换,如把int转换为float,如:int i;float f; f=(float)i;或者f=static_cast(i);2.const_...原创 2019-03-31 21:01:04 · 108 阅读 · 0 评论 -
C\C++字符与数字的转换
C++字符与数字的转换如果用函数实现最好用:stringstreamint n = 123456;char p[100] = {};stringstream s;s << n;s >> p;其次:springf、sscanf// 数字转字符串sprintf(str, “%d”, num);// 字符串转数字sscanf(str, “%d”, &...原创 2019-04-12 09:35:52 · 40107 阅读 · 1 评论 -
C++判断字符是否是数字
//判断字符是否是数字 if(isdigit(str[j])){ count++; } } cout<<count<<endl;}return 0;}cctype中还有其他函数,如:isalnum() 用来判断一个字符是否为英文字母或数字,相当于 isalpha© || isdigit©...原创 2019-05-03 20:42:39 · 3776 阅读 · 0 评论 -
C++运算符重载/单目双目
单目运算符最好重载为类的成员函数双目运算符最好重载为类的友元函数原创 2019-03-22 16:58:23 · 330 阅读 · 0 评论