博客专栏  >  编程语言   >  C++疑难杂症知识点

C++疑难杂症知识点

C++中很多的易混淆易错的知识点总结

关注
15 已关注
136篇博文
  • 剑指offer 反转链表

    对于链表的反转,同样需要考虑一些问题: 代码的鲁棒性,输入链表头指针是否为NULL修改链表中指针的指向时,千万不要发生链表断裂的情况,导致下一个结点丧失仔细考虑问题解决的逻辑,不要急于下笔写完代码...

    前天 08:54
    181
  • 剑指offer 合并链表

    合并排序好的两个链表,同样需要注意一下问题: 代码鲁棒性(对NULL等特殊输入有对应)代码正确性(没有链表断裂的情况)对于链表的大量指针操作,一定要将指针的命名对应其意义,尽量不出错合并链表还可以...

    前天 09:00
    160
  • 剑指offer 有环链表

    链表带环的情况下就需要活用指针: 两个指针的组合可以很好的遍历结点两个指针的行走速度有差异即可(一步、两步、先走后走)

    4天前 09:21
    136
  • 剑指offer 输出链表/逆序输出

    #include #include #include #include using namespace std; typedef int datatype; struct ...

    6天前 10:40
    38
  • 剑指offer 链表与指针

    涉及到链表的面试题: 如果有链表编号的参数,先明确链表的编号是从0开始还是从1开始如果输入有编号、个数这样的参数时,使用unsigned int ,这样最多只需要判断其不等于0即可两个指针可以做很...

    5天前 19:09
    120
  • 剑指offer 链表

    链表是一种较为简单的数据结构,但是其相关的问题也是相对较为复杂的。 链表的结构很简单,它是由指针把若干个结点连接成的链状结构。由于其是一种动态的数据结构,所以一般是对指针进行操作。 在遇到链表的问题时...

    6天前 09:04
    447
  • C++ 二维数组详解

    严格来说,C++中没有多维数组,通常所说的多维数组实际上是数组的数组。 多维数组的初始化 int a[2][2] = {{1,2},{3,4}};//最正常的初始化,谨记多维数组是数组的数组 in...

    2017-11-16 09:17
    227
  • 深度探索C++ 对象模型【第五章1】

    1:拥有纯虚函数的基类不可能拥有实例对象。virtual =0 2:一般而言,class 的data member应该被初始化,而且只能以两种方式初始化 在constructor中指定初值在m...

    2017-11-09 09:11
    221
  • 深度探索C++对象模型 【第四章2】

    1:关于取地址的艺术~ 直接取一个非静态成员变量的地址时,得到的是其在class中的真实offset再加1。当绑定到真实的对象上再取其地址时,得到的是其在内存中的真正地址。取一个非静态成员函数的地...

    2017-11-07 09:16
    58
  • 深度探索C++对象模型【第三章2】

    1:通过对象指针还是对象来存取数据成员之间的差异: 当该类是一个派生类,且其继承链中有一个虚基类存在,并且存取的member成员是一个从该虚基类中继承而来的成员时,就会有重大的差异。此时通过指针来...

    2017-11-06 09:16
    171
  • 深度探索C++对象模型 【第四章1】

    1:静态成员函数(static member function)不可能是做到以下两点: 不可能直接存取非静态成员变量不可能被声明为const

    2017-11-06 09:23
    211
  • 深度探索C++对象模型【第三章1】

    1:编译器会为每一个空class安插一个char,使得这个class的两个objects对象在内存中配置独一无二的内存地址。这就解释了空类的大小为何为1(即使该类为派生类,也需要为其安插一个char来...

    2017-11-05 09:28
    107
  • C/C++ extern 关键词详解

    定义: extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 extern + 变量  在一个源文件里定义了一个数组:c...

    2017-11-05 09:24
    4756
  • 深度探索C++ 对象模型【第二章1】

    1:在C++的构造函数上,往往编译器会做很多你不知道的事,就比如说构造函数的隐式转换,虽然有时候很方便,但是在某些情况下会造成一些意想不到的情况发生,explict关键词就因此而生~! 2:当编译器需...

    2017-11-04 09:00
    296
  • 深度探索C++ 对象模型【第二章2】

    1:NRV的优化会出现在,函数以传值的方式传回一个类对象,当该类有一个拷贝构造函数时,编译器会对你的代码进行一定的背后优化。 2:成员初始化时,当出现以下四种情况,必须使用成员初始化列表的操作: ...

    2017-11-04 09:02
    269
  • C++ explict关键词详解

    C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显式的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况...

    2017-11-03 09:02
    4130
  • Word 从任意页开始设置页码

    Word 2013 光标移到想设置起始页码的前一页的末端位置,页面布局——分隔符——下一页  即可~ 此外,在设置目录的时候,格式刷的作用非常的好,选中想要复制的格式文字,点击格式刷,再选中想要...

    2017-10-22 14:12
    62
  • 剑指offer 关于C#

    较为简单的几点: 1:C#中,在没有注明的情况下,struct和class中的成员都是private的。struct的实例在栈上分配内存,class的实例在堆上分配内存 2:C#中,有一种静态构造函数...

    2017-10-22 15:50
    69
  • 剑指offer 关于单例模式

    为什么会有单例模式? 典型的情况是,那些对象的类型被遍及一个软件系统的不同对象访问,因此需要一个全局的访问。比如窗口管理器,打印缓冲池和文件系统 在单例模式之前,先说一下为什么不使用一个全局变量来代...

    2017-10-22 16:12
    83
  • 深度探索C++对象模型之前言

    为什么要学习C++对象模型? 侯捷大师给出的答案是:C++的一个特殊之处就是编译器会帮程序员做很多的“事”:对象的构造函数、析构函数、虚拟继承、多态、拷贝构造函数等等,它会为我们合成一系列的额外函数(...

    2017-10-09 17:02
    78
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部