萌新萌新
萌新萌新
全部文章
C++学习
Lua学习(4)
学习(15)
读书笔记(3)
归档
标签
去牛客网
登录
/
注册
大家一起学习啦
记录自己的成长
全部文章
/ C++学习
(共9篇)
为什么虚析构能正确释放资源?
1.虚函数的实现原理: 在有虚函数的类中,类最开始的部分是虚函数表的指针,这个虚函数表存放了虚函数的地址。 当子类继承父类时,同时也会继承父类的虚函数表,如果子类重写了父类的虚函数,将会将从父类中继承的虚函数表的地址改为重写后的地址。 然后程序在运行时,编译器会根据对象的类型去初始化这个虚函数表指针...
C++
2022-03-28
0
456
C++的sort函数
#include "stdafx.h" #include<iostream> #include <math.h> #include <algorithm> using namespace std; bool f1(char c1, char c2) --从大到小...
C++
2022-03-26
0
374
说一说静态变量,全局变量,局部变量的特点
1.位置 全局变量是定义在文件内,函数外的变量。 局部变量是定义在函数内,函数的参数,代码块中。 静态变量是使用static修饰,可以修饰局部,全局或者修饰类成员。 2.内存位置 全局和静态变量存储在静态存储区,如果未初始化就初始化未0; 局部变量存在栈空间。 3.生命周期 局部变量:出了作用域立刻...
C++
2022-03-26
0
455
malloc和new的底层实现
1.malloc的底层实现原理 当开辟的空间<128k时,调用brk()函数;当>128k的时候,调用mmap()函数。malloc采用内存池的的管理方式,以减少内存碎片。先分配一块较大的内存作为堆区,然后将堆区分为多个内存块,当用户申请内存的时候,直接从堆区分配一块合适的空闲块。每个空...
C++
2022-03-25
0
713
内联函数和宏函数的区别
1.内联函数是代码比较简单的函数,不能包含复杂的控制语句,并且不能调用自身。 2.宏是在预编译的时候,替换目标字符串,简单的说就是替换代码。而内联函数是在编译的时候进行代码插入,编译器会在每次调用内联函数的时候进行代码展开,这样减少了函数的调用开销,提高了效率。 3.宏定义是不会进行安全检查的,而内...
2022-03-25
0
734
Lambda表达式
Lambda表达式是C++11的一个新的语法糖,它可以让我们方便的定义和创建匿名函数 1.完整的声明格式 [capture list] (params list) mutable exception-> return type { function body } capture list:捕获...
C++
2022-03-25
0
379
static关键字的作用
//1.修饰普通变量:表示直到程序结束都只有1块内存,且该变量仅仅本文件内可以访问。 //2.修饰类成员变量:表示,该变量属于类,不属于任何一个对象。(该成员变量可以通过类名:访问,或者对象名.访问) //3.修饰类成员函数:表示该函数属于类,不属于任何一个对象。(切记,该函数不能通过this调...
C++
2022-03-25
0
359
C与C++的区别
1.c是C++的子集,但是C++又有了很多的新特性,如引用、智能指针、auto变量等。 2.C++是面对对象的,C是面向过程的。 3.C++更加安全,引入了四种类型转换。 4.C++支持函数重载,C不支持。 4.可复用性高,引入的模板的概念。
C++
2022-03-25
0
392
C++的四种类型转换
C++的四种类型转换 1. const_cast const int* pConstNum = # int* pNum = const_cast<int*>(pConstNum); cout << *pNum; //1 *pNum = 4; cout...
C++
类型转换
2021-11-16
0
441