目录一、拷贝构造函数1.1什么是拷贝构造函数?1.2为什么得是引用?1.3使用拷贝构造函数1.4拷贝构造函数有什么用?二、运算符重载2.1什么是运算符重载?2.2 尝试前须知2.3常见运算符重载2.3.1+=运算符重载2.3.2+运算符重载2.3.3前置++和后置++运算符重载三、下期预告前言:C++初阶系列,每一期博主都会使用简单朴素的语言将对应的知识分享给大家,争取让所有人都可以听懂,C++初阶系列会持续更新,上学期间将不定时更新,但总会更的一、拷贝构造函数1.1什么是拷贝构造函数?拷贝构造函数是构造函数的重构,也就是说它也没有需要返回的东西,同样是为了构造成员而生。拷贝构造函数只有单个形
一.算数操作符:+ - * / %+、-、*、/这四个运算符均可用于整数及浮点数的运算。当使用/运算符时,如果两个操作数均为整型,那么执行整数除法,运算结果也为整型;如果两个操作数至少一个为浮点数,那么执行浮点数运算,运算结果为浮点型。%运算符只能用于两个整数相除,返回余数。二.位移操作符:>注:位移操作符的操作数只能是整数左移操作符(:不论算术移位还是逻辑移位,均将左边的数舍弃,右边空缺位补0(左边丢弃,右边补0)右移操作符(>>):当进行逻辑移位时,右边位丢弃,左边空缺位补0(右边丢弃,左边补0); 当进行算术移位时,右边位丢弃,左边位补原数的符号位(右边丢弃,左边
目录一、输入输出(>>,1.1初始版 1.2友元并修改1.2.1简单介绍下友元1.2.2修改1.3>>重载二、条件判断操作符的实现2.1==操作符的实现2.2!=操作符的实现2.3>操作符的实现2.4>=,三、日期-日期的实现四、下期预告前言:C++初阶系列,每一期博主都会使用简单朴素的语言将对应的知识分享给大家,争取让所有人都可以听懂,C++初阶系列会持续更新,上学期间将不定时更新,但总会更的一、输入输出(>>,1.1初始版我们先来试着重载最后思考一下返回值,我们可以从cout第一次实现往往就实现成了这副模样 ostream&operator逻辑没有问题,也确实可以实现,但是我们在具体使用的
文章目录1单例模式回顾2饿汉式单例模式的实现3懒汉式单例模式的实现4单例模式的线程安全问题分析5线程安全的懒汉式实现6总结1单例模式回顾 单例模式是设计模式的一种。而设计模式就是针对我们实际开发中写代码所遇到的不同场景所设立的解决方案。在笔者JavaSE阶段的文章中,我们曾经聊到过单例模式,这里给出文章链接,有兴趣的读者可以自行阅读:单例模式懒汉式与饿汉式的实现,在本文中,笔者也会进行必要的总结。下面,进入正文: 所谓类的单例设计模式,就是采用一定的方法保证在整个软件系统中,对某一个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。常见的实现方式有两种,懒汉式和饿汉式。 这里的懒
单链表1,单链表的概念及结构2,单链表的实现2.1初始化内容(所需文件,接口)2.2申请结点2.3打印单链表2.4尾插2.5头插2.6尾删2.7头删2.8查找2.9在pos位置之后插入2.10在pos位置前面插入2.11删除pos之后的值2.12删除pos位置的值2.13销毁链表3.全部码源1,单链表的概念及结构概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。现实中数据结构中2,单链表的实现2.1初始化内容(所需文件,接口)所需文件头文件->SList.h源文件->test.c源文件->SList.c接口(SList.h中)#incl
C++模板初阶一.泛型编程二.函数模板1.概念2.实例3.原理4.函数模板的实例化5.模板参数的匹配原则三.类模板1.类模板的引出2.实例3.易错点:类模板的声明跟定义分离大家在做OJ题的时候可能看到过这种使用STL的样子:其实这个就是我们今天要介绍的模板这个语法在STL中的应用一.泛型编程在介绍泛型编程的概念之前,先给大家看一下这个例子比方说:我今天要分别实现int和int类型,double和double类型,char和char类型的Swap函数那么我可能需要利用函数重载写出一下三份代码voidSwap(int&a,int&b){ inttmp=a; a=b; b=tmp;}voidSwap
一:IP地址IP地址(InternetProtocolAddress)是指互联网协议地址,又译为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:01100100.00000100.00000101.00000110,通常用“点分十进制”的方式来表示,即a.b.c.d的形式(a,b,c,d都是0~255之间的十进制整数)。如:100.4.5.6。1.1IPv4和IPv6IP协议有两个版本,IPv4和IPv6。此后,凡是提
线程安全文章目录线程安全1.什么是线程安全2.为什么会造成线程不安全2.1线程抢占式的执行2.2多个线程修改同一变量2.3原子性2.4内存可见性2.5指令重排序总结3.如何解决线程安全问题1.什么是线程安全场景:用两个线程同时对一个变量进行5万次自增操作,预期结果是自增10万次。publicclassdemo1{privatestaticintnum=50000;publicstaticvoidmain(String[]args)throwsInterruptedException{Countercounter=newCounter();Threadt1=newThread(()->{for(
链表OJ题目一:移除链表元素题目二:反转链表题目三:链表的中间节点题目四:链表中倒数第k个结点题目五:合并两个有序链表题目六:链表分割题目七:链表的回文结构题目八:相交链表题目九:环形链表题目十:环形链表II题目一:移除链表元素OJ方案一:题目解析:代码演示:structListNode{intval;structListNode*next;};structListNode*removeElements(structListNode*head,intval){structListNode*cur=head,*prev=NULL;while(cur){if(cur->val==val){if(c
📘北尘_:个人主页🌎个人专栏:《Linux操作系统》《经典算法试题》《C++》《数据结构与算法》☀️走在路上,不忘来时的初心文章目录一、泛型编程1、如何实现一个通用的交换函数呢?2、引出模板二、函数模板1、函数模板概念2、函数模板格式3、函数模板的原理4、函数模板的实例化1、隐式实例化2、显式实例化5、模板参数的匹配原则三、类模板1、类模板的定义格式2、类模板的实例化一、泛型编程1、如何实现一个通用的交换函数呢?使用函数重载虽然可以实现,但是有一下几个不好的地方:重载的函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增加对应的函数代码的可维护性比较低,一个出错可能所有的