c++基础
文章平均质量分 92
yincheng_917
这个作者很懒,什么都没留下…
展开
-
c++中new与delete简单用法
new 与delete是C++预定的操作符,它们一般需要配套使用。new用于从堆内存申请一块空间,一般动态用于动态申请内存空间,即根据程序需要,申请一定长度的空间,而delete则是将new申请的空间释放。new 有以下的三种格式申请内存空间new 数据类型new 数据类型(初始值)new 数据类型[常量表达式]如 int * p1=new int; int ...转载 2018-08-24 15:57:47 · 1776 阅读 · 0 评论 -
C++ Map常见用法说明
一. 声明//头文件#include<map>map<int, string> ID_Name;// 使用{}赋值是从c++11开始的,因此编译器版本过低时会报错,如visual studio 2012map<int, string> ID_Name = { { 2015, "Jim" }, ...转载 2018-10-19 11:18:33 · 258 阅读 · 0 评论 -
.c_str()函数解析
1.string类成员函数c_str()的原型: const char *c_str()const;//返回一个以null终止的c字符串2.c_str()函数返回一个指向正规c字符串的指针,内容和string类的本身对象是一样的,通过string类的c_str()函数能够把string对象转换成c中的字符串的样式; c_str()函数返回一个指向正...转载 2018-10-16 09:32:27 · 13461 阅读 · 2 评论 -
判断单向链表是否有环
单链表的环是什么呢? 有环的定义是,链表的尾节点指向了链接中间的某个节点。比如下图,如果单链表有环,则在遍历时,在通过结点J之后,会重新回到结点D。 看了上面的定义之后,如何判断一个单链表是否有环呢? 这个可以“快慢指针”来解决。设两个工作指针,一个快一个慢,如果有环的话,它们会必然在某点相遇。 //using step1 and step2 here //i...原创 2018-09-26 22:01:44 · 241 阅读 · 0 评论 -
海量数据中找出前k大数
前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10000个。建堆...转载 2018-09-26 21:39:05 · 216 阅读 · 0 评论 -
2018年秋招迅雷后台开发岗面试问题整合(一)谈谈你对面向对象思想以及特征的理解
提到面向对象不得不提到面向过程,面向过程是一件事该怎么做,面向对象是一件事该有谁来做,“谁“就是对象,至于怎么做就是对象的事情,一群对象合力将事情完成。面向对象主要思路是把问题(业务,需求,代码等)看做一类一类的事物。每类事物定义好以后,各自有不同的属性、方法。面向对象有三个特征:封装,继承,多态。(1)封装:封装有两个作用,一个是将不同的小对象封装成一个大对象,另一个是把一部分内部属...原创 2018-09-26 17:26:00 · 331 阅读 · 0 评论 -
TCP与UDP协议
TCP:TCP提供一种面向连接的、可靠地基于字节流的传输层网络通信协议。TCP通过下列方式来提供可靠性:应用数据被分割成TCP认为最适合发送的数据块 自适应的超时及重传 当TCP收到发自TCP连接另一端的数据,它将发送一个确认(这个确认通常会推迟几分之一秒) TCP将保持它首部和数据的检验和 TCP报文段是作为IP数据包来传输的,因此到达可能会失序。如果必要,TCP将对收到的数据进...原创 2018-09-26 15:20:19 · 178 阅读 · 0 评论 -
strlen结束符
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。...原创 2018-09-12 11:41:17 · 2391 阅读 · 0 评论 -
C 语言字符数组的定义与初始化
1、字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I','','a','m','',‘h’,'a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即...转载 2018-09-12 11:41:54 · 530 阅读 · 0 评论 -
vector 用法
在c++中,vector是一个十分有用的容器。作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。 特别注意:使用vector需要注意以下几点:1、如果你要表示的向量长度较长(需要为向量内部保存很多数),...转载 2018-09-12 11:42:14 · 121 阅读 · 0 评论 -
C++栈和队列标准库函数
栈使用标准库的栈和队列时, 应包含先关头文件.在栈中应包含头文件: #include< stack >定义: stack< int > s;s.empty(); //如果栈为空则返回true, 否则返回false;s.size(); //返回栈中元素的个数s.top(); //返回栈顶元素, 但不删除该...转载 2018-09-12 11:42:28 · 239 阅读 · 0 评论 -
c++中减字符‘0’以及单个字符相减解释
例如,把字符串"1234"里的各个数字字符转成整型,存入整型数组:int i,x[4];char str[]="1234";for (i=0;i<4;i++) x[i] = str[i] - '0';减去字符0,也就是减去0的ASCII码值48,数字字符减去‘0’就得到了该数字。例如, 把字符串中字母,小写变大写,也是用到字母的ASCII码值char str[]="a...原创 2018-08-24 16:58:00 · 7140 阅读 · 0 评论 -
STL里的multimap使用简介
在“使用 <map> 库创建关联容器” 一文中,我们讨论了标准库中的 map 关联容器。但那只是 map 容器的一部分。标准库还定义了一个 multimap 容器,它与 map 类似,所不同的是它允许重复键。这个属性使得 multimap 比预想的要更有用:比如在电话簿中相同的人可以有两个以上电话号码,文件系统中可以将多个符号链接映射到相同的物理文件,或DNS服务器可以将几个URLs映...转载 2018-10-19 11:24:46 · 183 阅读 · 0 评论