自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

转载 基于Redis实现的分布式锁实现

https://www.cnblogs.com/williamjie/p/9395659.html讲的特别详细,具体实现按照公司封装的redis来,但是内容是差不多的。

2019-11-14 18:01:52 120 1

原创 String 中的 equals() 和 ==

https://blog.csdn.net/ZLK1142/article/details/86094325

2019-08-08 18:22:53 169

原创 C语言不能实现函数重载

C语言不能实现函数重载 C语言不能实现函数重载 C语言不能实现函数重载至于为什么,自己去看函数重载的定义和C符号生成的方式就知道了就知道了。虽然C语言不能实现函数重载,但是可以假装假装重载,实现方式是利用函数指针。具体方式见代码:#include<stdio.h>void func_int(void *ptr){ printf("%d\n",*(int*)pt...

2018-09-12 08:25:43 2716

转载 虚函数表和虚基类表

原文链接:https://www.cnblogs.com/fanzhidongyzby/archive/2013/01/14/2859064.html 虚函数与虚继承寻踪封装、继承、多态是面向对象语言的三大特性,熟悉C++的人对此应该不会有太多异议。C语言提供的struct,顶多算得上对数据的简单封装,而C++的引入把struct“升级”为class,使得面向对象的概念更加强大。继承机...

2018-08-02 00:35:33 2810

转载 在vector中删除一个元素

如果想要删除vector中值为val的元素,最容易想到的方法就是对vector进行遍历,然后遇到值为val时就将其删除。比较好的是vector容器有erase操作。但是这儿需要注意,与list中的erase不同,list的erase操作之后,之前获得的迭代器还是有效的,而在vector中因为vector是顺序存储,所以,一旦删除一个元素,之前获得的迭代器就会失效了,vector.begin()和...

2018-08-01 01:56:43 19017

原创 main函数之前或之后打印一个字符串

最近看到一个面经问题是这样的,如何在main程序之前打印一个字符串?       由于之前做过对象生存周期的测试,所以我很快就想到了一种方法。可以定义一个类,在类的构造函数里打印字符串或者调用打印字符串的函数。然后生成一个全局的对象,全局的对象在main函数调用之前就会生成,从而就会打印出字符串。#include<iostream>using namespace std;...

2018-08-01 01:31:15 532

原创 当const进入类和对象家里

当const与类和对象对眼时,会产生三种情况:1、const修饰类的成员变量:class A{public: A(int b):ma(b){}private: const int ma ;};       首先,const修饰类的成员变量是带常性的,所以它必须在定义时初始化。而类只有在实例化对象时才会对成员变量进行初始化。所以const修饰类的成员变量时,必须依靠构造...

2018-07-27 11:50:15 362

原创 用栈实现二叉树的非递归遍历

1、前序遍历        用栈来实现二叉树非递归的先序遍历,先序遍历的方式是根->左->右,按照栈的入站退栈方式,应该先入根节点然后根节点退出再入右孩子和左孩子,只要栈不为空证明还没有遍历完二叉树。void PreOrder(BtNode *root){ stack<BtNode*>s; //生成一个栈 if (root != NULL) ...

2018-07-13 22:14:41 4731 3

原创 虚拟地址的寻址方式

2018-06-30 23:38:31 839

原创 C++模板

     不论是生活中还是编程中,我们都想要一种通用的方法去解决一类问题。但所有的方法都有它的优点和缺点。在C语言学习中,C语言提供了一种泛型机制,通过传入无类型的参数,和数据大小来解决一类问题。但这种方式没有足够的类型检查,很容易出错。这时候你是否想到了函数重载,将不同参数的函数都写出来,这样虽然能够起到一定的作用,但是太过复杂,而且容易没有全部写出来。我们也可以使用宏定义函数,但宏函数毕竟不是...

2018-04-29 18:14:51 820

原创 对象的生存周期

        在学习析构函数时,了解到一般对象的销毁是在main函数内return之后。        在栈上构造的对象要符合栈的先进后出的规则。        堆上new的对象需要遇到delete的时候才能销毁,否则会出现内存泄漏。        所以一般的对象生存周期为定义点开始,return之后main函数退出之前结束。        对于特殊的对象,总结如下:        1、全局对象...

2018-04-18 09:42:31 603

原创 C和C++的相互调用

终于学到C++的课程,第一节课开始讲C与C++区别。今天才开始在CSDN上写博客,希望以后能一直坚持下去。C和C++的相互调用:        首先,为什么要实现C和C++的相互调用? 我们知道程序在链接的时候要生成符号和符号表,而C和C++的生成符号规则是不同的。C在生成符号时只跟函数名称有关系,而C++生成符号时既和函数名称有关,又和函数的参数列表有关。所以需要解决C和C++的调用问题。   ...

2018-03-29 14:25:05 242

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除