C++
文章平均质量分 54
C++学习的日常总结,主要干了C++
丿灬慕容笑笑
这个作者很懒,什么都没留下…
展开
-
友元
友元友元函数1.友元函数的定义2.全局函数作为友元函数3.类成员函数作为友元函数友元类论友元 1.友元函数的位置2.友元的利弊3.注意事项 我们知道在C++中有三大特性,就是封装,继承,多态。对于一个类来说,我们实现了一个类的封装和隐藏。在我们平时的时候,都会将类的数据成员进行私有化,提供一个接口负责外界对私有...原创 2021-02-22 18:00:33 · 247 阅读 · 0 评论 -
从代码学会多继承
从代码学会多继承从之前的文章中,学会了继承及单继承的知识,这里来学习一下多继承。对于多继承来说,就是一个子类继承了多个父类。可以参考单继承的文章,作为补充知识。https://blog.csdn.net/weixin_42078660/article/details/113755197多继承语法派生类名::派生类名(参数总表):基类名 1(参数表 1),基类名(参数名 2)......原创 2021-02-22 15:36:47 · 183 阅读 · 0 评论 -
从代码读懂继承
从代码看懂继承文章内容较长,可以收藏慢慢观看,本文中直接从代码的实际讲解和书写开始,读完本文就可以上手书写继承。继承的概念: 1.什么叫继承呢? 2.继承的语法。 3.派生类的组成:继承方式成员变量的继承:成员方法的继承 构造函数 拷贝构造函数 赋值运算符重载 友元函数 析构函数 ...原创 2021-02-08 19:33:41 · 164 阅读 · 0 评论 -
C++学习——对象的生存周期
对象的生存周期 今天我们对于C++中的对象进行一下生存周期的学习。首先我们需要知道的是对于对象来说它的生成需要两部走,1:开辟空间、2:调用构造函数。对象的销毁我们也有两部走,1:调用析构函数、2:释放空间。我们需要清楚一个对象在何时生成,在哪里生成,在何时销毁。 这是我不得不...原创 2019-11-07 23:44:51 · 305 阅读 · 0 评论 -
位总结
1、位运算符号&,|,^,~(取反,不分正负数),<<(标准规定在右边补0),>>(正数则左边补0,负数标准没有规定在左边补充的数字,分为逻辑右移和算术右移,具体由编译器决定,windows平台和gcc采取算术右移即负数补1)2、常见的二进制位的变换操作下面列举了一些常见的二进制位的变换操作。下面列举了一些常见的二进制位的变换操作。功能 | 示例 | 位...原创 2019-10-13 19:12:38 · 70 阅读 · 0 评论 -
scanf函数和printf函数的返回值
scanf 函数 :1.scanf()函数有返回值且为int型。2.scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。例如:#include<stdio.h> int main() { int a; int b; printf("%d\n", scanf("%d%d",&...原创 2018-05-14 13:27:48 · 344 阅读 · 0 评论 -
char的取值范围 (上)
#include<stdio.h>int main(){for (char i = 0; i < 127; i++){printf("%d\n", i);}}这样的一个代码很熟悉吧,他是一个简单的for循环,让i从0开始,一直打印到126.如:...原创 2018-05-16 00:12:29 · 2691 阅读 · 0 评论 -
char 的取值范围(下)
Char 的取值范围为什么是 “-128~127”呢?让我们一起来看看,,,,,,Char 在计算机中占一个字节,八个位。但是在高位代表了符号位其他就是7位,一共可以表示(2^7)127个数字,即0~~127.既然有符号位,就是有正有负,那么就是“0-127”和“-127~-0”,在这里的“-0”就比较有趣了,显得格格不入。让我们一起来看看-0 原码 1 000 0000...原创 2018-05-17 22:22:00 · 1101 阅读 · 0 评论 -
进制间的转换
进制间的转换如: 在某系统中,等式15*4=112成立,则系统采用的是()进制?A. 6 B. 7 C. 8 D. 9 在这个题中,我们可以将每一个的进制带进去算一下。如:A,先换成十进制 15~11,4~4, 112~4411*4=44;即 A 正确。我们可以采用这样的办法算这样的题...原创 2018-05-26 16:09:12 · 283 阅读 · 0 评论 -
指针的初识和解引用
让我们来 看一下以下的代码int a=10;int b=20;int *p= &a;*p=10;p=&b;*p=200;p=&a;int **pp=&p;*pp=&a;**pp=1000;*pp=&b;**pp=2000;看到这样的代码是不是一脸的懵逼,现在让我们来看看他的每一句都是什么意思。开...原创 2018-05-26 18:02:12 · 12003 阅读 · 2 评论 -
C语言——对于整数判断位数及逆向正向输出
//统计n是几位数字#include<stdio.h>int Count(int n){ int tmp = 0; //while(n != 0) //(对于while和do-while的区别就是能不能可以无条件执行一次, Do // 在对于0的运算时会有区别。 { n /= 10; ...原创 2018-10-24 23:21:54 · 724 阅读 · 0 评论 -
利用指针交换两个数
#include<stdio.h> void Swap_err1(int a,int b) // 第一个错误,交换了两个数,但是返回值只能有一个不能{ // 返回打印 int tmp ; tmp = a; a = b; b = tmp; //printf("%...原创 2018-10-26 13:19:56 · 112 阅读 · 0 评论 -
c语言下 sizeof 与strlen的区别
一、对于sizeof:(是一个关键字)Sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。Sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 使用如下:sizeof(int)=4sizeof(unsignedint)=4sizeof(shortint)=...原创 2018-11-01 23:32:26 · 129 阅读 · 0 评论 -
c语言中 指针加法
c语言中 指针加法(p++,p+2)例如:int arr[10]={1,2,3} int *p=arr; p++; *p=10;在例题中的p++的意义:有如下的三种可能性:1、加一个字节; 2、加一个单元格; 3、加一个数组;我们做以下的分析 : ...原创 2018-11-02 11:55:01 · 4457 阅读 · 0 评论 -
C语言: 类型转换
C语言: 类型转换我们先来了解一下类型转换的几个规则:默认由窄的数据类型转成宽的数据类型 (char short int longlong double 从窄到宽) 同级别的无符号比有符号宽 不同类型运算时,从int...原创 2019-04-21 23:24:08 · 299 阅读 · 0 评论 -
float下的常量与0的比较
float是C语言中的一个数据类型的关键字,表示单精度浮点数(双精度浮点数为double)。定义格式为:float a; C语言规定浮点型在内存占用4个字节,精度为7位,取值范围为:3.4*10^-38 ~3.4*10^38或者-(3.4*10^-38 ~3.4*10^38)float表示浮点数,存在着一定的误差,与0比较的时候需要加入误差值。如: #include <stdio....原创 2018-05-06 22:22:40 · 1145 阅读 · 0 评论 -
inline函数
inline函数1.什么是inline函数 内联函数是指用inline关键字修饰的函数。如果内联函数在类体内定义,不用inline关键字声明,默认为内联函数,在编译阶段遇到函数调用直接进行代码展开。2.内联具体是怎么实现的?...原创 2019-12-17 19:37:18 · 501 阅读 · 1 评论 -
智能指针-auto_ptr
智能指针-auto_ptr什么是智能指针呢? 我们在new/malloc申请空间的时候,我们在结束的时候就需要调用delete/free 去释放掉我们申请的空间,不然会造成内存泄漏。我们这时候就需要用到智能指针,指针指针是一个类,在析构的时候我们就会调用delete/free 去释放掉我们申请的空间,解决了内存泄漏的问题。...原创 2020-02-28 09:50:33 · 121 阅读 · 0 评论 -
引用和指针
引用和指针对于指针和引用我们先来分析一下他们的相同点和不同点:相同点:1. 都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。我们可以从反汇编下看出来。可以看到,在汇编上,引用就是指针操作,定义一个引用变量,相当于就是定义了一个指针,然后把引用内存的地址写到这个指针里面,当通过引用变量...原创 2020-03-02 11:55:13 · 181 阅读 · 0 评论 -
智能指针 shared_ptr
智能指针 shared_ptr根据上一篇博客,相信大家已经对智能指针有了一定的理解,但是最后就留下了一个问题,当我们的人工的多次开辟一个内存的时候,会导致程序崩溃,这时候我们引用了一个新的智能指针(shared_ptr 带引用计数的智能指针)。设计如下:我们加一个数组,当生成一个智能指针指向一块堆内存的时候,我们就...原创 2020-03-12 22:39:58 · 145 阅读 · 0 评论