![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
HJ_sky
一个正在打怪升级的计算机小白
展开
-
C++容器操作使迭代器失效的情况
向容器添加元素后如果容器是vector和string,且存储空间被重新分配,则指向容器的迭代器、指针和引用都会失效。如果存储空间未重新分配,指向插入位置之前的元素的迭代器、指针和引用仍有效,但是指向插入位置之后的元素的迭代器、指针和引用可能会失效。对于deque,插入到除首尾位置之外的任何位置都会导致迭代器、指针和引用失效。如果在首尾位置添加元素,迭代器会失效,但指向存在的元素的引用和指针不会失效。对于list和forward_list,指向容器的迭代器(包括尾后迭代器和首前迭代器)、指针和引用仍有原创 2020-09-03 09:24:54 · 378 阅读 · 0 评论 -
C++反转链表
建立新链表进行反转struct ListNode{ int val; struct ListNode *next;}class solution{public: ListNode* ReverseList(ListNode* pHead){ ListNode* pNode=pHead; //当前节点 ListNode* pPrev=nullptr; //前一个...原创 2020-02-22 15:43:58 · 196 阅读 · 0 评论 -
C++高频面试问题
C++常见面试问题汇总一、指针和引用的区别1.指针有自己的一块空间,而引用只是一个别名;2.使用sizeof看一个指针的大小是4,而引用则是被引用对象的大小;3.指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象 的引用;4.作为参数传递时,指针需要被解引用才可以对对象进行操作,而直接对引 用的修改都会改变引用所指向的对象;5.可以有const指针,但是没有const引...原创 2020-02-21 11:11:13 · 885 阅读 · 0 评论 -
C++ socket编程的步骤
首先服务器端需要建立socket(),然后绑定socket和端口号,绑定后开始监听此端口号(listen()),在监听的同时,服务器端调用connect()函数链接指定计算机的端口,服务器端则调用accept()接收来自客户端的请求,最后调用recv()函数从socket()中读取字符并关闭socket()...原创 2020-02-18 19:58:55 · 250 阅读 · 0 评论 -
C++ STL各个容器的区别
1.STL容器分类:STL的容器可以分为以下几个大类:一 顺序(序列)容器, 有vector, list, deque, string,stack( 适配器类), queue( 适配器类), priority queues( 适配器类)二 关联容器, 有set, multiset, map, multimap, bitset,hash_set, hash_map, hash_mu...转载 2020-02-13 20:23:58 · 3435 阅读 · 0 评论 -
C++中STL的容器适配器以及各容器的方法
一.容器适配器1.stack需要引入的头文件:#include<stack>初始化方式:stack<int> stk;成员函数介绍:stk.empty(); //判断stack是否为空,为空返回true,否则返回falsestk.size(); //判断stack中元素的个数stk.pop(); //删除栈顶元素,但不返回其值...原创 2020-02-13 16:34:51 · 212 阅读 · 1 评论 -
C++中各个概念的异同与区别
1.指针与引用的区别指针有自己的一块空间,而引用只是一个别名使用sizeof函数,指针大小为4个字节,而引用的大小是被引用对象的大小指针可以被初始化为NULL,但引用必须是一个对象作为参数传递是,指针需要被解引用才可以对对象进行操作,而直接对引用修改会改变引用所指的对象。可以有const指针,但是引用不能const指针可以随时改变指向的对象,而引用只能对一个对象进行引用如果返回动态...转载 2020-02-10 21:33:32 · 168 阅读 · 0 评论 -
C++中的取地址与解引用
*的作用是引用指针指向的变量值,“解”就是把该地址对应的东西解开,解出来,就像打开一个包裹一样,那就是该变量的值了,所以称为“解引用”。也就是说,解引用是返回内存地址中对应的对象。通俗的来讲,*的作用就是取值,取出指针所指向的变量值对于&比较好理解,&的名字就是取地址,那么他的作用也就是取地址了如果对于这两个不好理解的话,举个栗子:“引用”这个词,出现最多的场景就是:在文章...原创 2020-02-10 21:08:27 · 3774 阅读 · 0 评论 -
C++友元函数与友元类
一、友元概述举个现实中的例子,一般家庭都有客厅和卧室,我们将客厅比喻为公用部分(public),卧室比喻成私有部分(private),在类外只能访问公用成员,只有本类的函数才可以访问私有成员,我们可以把友元(friend)当做朋友,一般家庭会这么做,客厅(public)对所有来客开放,而卧室除了本家庭成员(private)可以进入之外,还允许朋友进入。在C++中,友元可以访问与其有好友关系的类...原创 2020-02-09 16:08:24 · 383 阅读 · 0 评论 -
C++常用排序算法
算法概述常见的排序算可以分为以下两类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于时间复杂度不能突破nlogn,因此称为非线性时间比较类排序线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下限,以线性时间运行,因此称为线性时间非比较类排序排序相关概念:稳定:如果a原本在b的前面,且a=b,排序之后a仍然在b的前面不稳定:如果a原本...原创 2020-02-06 16:36:05 · 241 阅读 · 0 评论 -
C++多态性与虚函数
面向对象的三个特征:封装、继承和多态。什么是多态多态的意思是一个事物有多种形态,英文单词为polymorphism,向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为(方法)。也就是说,每个对象可以用自己的方式去相应共同的消息。例如函数的重载、运算符的重载都是多态现象。一个生活中的例子,比如学生开学,校长发布一条哪一天开学的信息,不同的对象会产生不同的反应,学生就要准备上学,家...原创 2020-02-05 17:04:17 · 510 阅读 · 0 评论