CPP
文章平均质量分 70
C++知识
小面包爱我
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++之构造函数
C++之转换函数原创 2021-07-24 10:24:54 · 271 阅读 · 1 评论 -
C++之指针和引用
C++之指针和引用指针定义指针的值和指针指向对象的值NULL和nullptr在C语言中,NULL被定义为(void*)0,在C++中,NULL被定义为整数0,此时就无法和整数0区分,因为函数重载的缘故,当我们想要调用参数是指针的函数,如果传入NULL,会将NULL当作0来看待,而nnullptr就可以区分整型和指针类型,能够根据环境自动转换成相应的指针类型,但是不会转换成任何整型,所以不会造成参数传递错误。引用定义引用指向对象的值参考:https://blog.youkuaiyun.com/qq_39原创 2021-07-14 21:22:42 · 250 阅读 · 0 评论 -
C++之继承简谈
C++之继承虚继承菱形继承原创 2021-07-14 21:20:44 · 290 阅读 · 1 评论 -
C++之宏定义
C++之宏定义对象宏一般用来定义一个常数。格式:#define 宏的名字 内容#define X A;#define M 1;在编译时编译器会在语义分析认定是宏后,将X替换为A,这个过程称为宏的展开。然而,宏展开是在预处理阶段完成的,这个阶段只是将替换文本看成是一个字符串,并不会有任何计算发生,并不会自动增添任何符号。例如:#define SELF(x,y) x+yint main() { int a = SELF(1, 2) * SELF(2, 3); cout <<原创 2021-07-02 08:27:37 · 767 阅读 · 4 评论 -
C++11
C++11原创 2021-06-17 10:45:08 · 185 阅读 · 0 评论 -
STL之迭代器失效
STL之迭代器失效原创 2021-06-05 11:05:17 · 219 阅读 · 0 评论 -
STL之hashtable
STL之关联容器原创 2021-06-02 15:16:00 · 199 阅读 · 0 评论 -
STL之set和map
STL之set和mapset和map都是关联式容器,底层实现都是红黑树,先来看红黑树的实现,明白了红黑树,set和map就很简单了。具体使用在数据结构里面列出,因为做题经常用到。。红黑树插入和删除操作都是在O(logn)时间内完成的,其他操作建议参考数据结构和算法类的书籍。rb_tree一点需要声明的是一个节点中key和data加一起是value.几个优点,也是为什么set和map要使用这个rb_tree来实现利用平衡二叉搜索树的特性,排列规则有助于search和insert,并保持适度平衡:原创 2021-06-01 10:15:18 · 268 阅读 · 0 评论 -
STL之vector/list
STL之vector原创 2021-06-01 07:44:24 · 150 阅读 · 1 评论 -
c++之函数参数传递
c++之函数参数传递普通数值传递过程:首先计算出实参表达式的值然后给形参变量分配一个存储空间,该空间大小等于形参类型的将实参表达式的值存入形参变量分配的存储空间中,成为形参变量的初值使用这种方式,形参得值得改变不会影响实参的值。这是因为在值传递的过程中,形参是作为被调函数的局部变量处理,在堆栈中开辟空间存放传递进来的实参值,形成了实参的一个副本。全程有形参的值,实参的值。void fun(int a) { a++; cout << "形参的地址" << &原创 2021-05-30 09:45:15 · 150 阅读 · 0 评论 -
C++之类型转换
C++之类型转换原创 2021-05-29 09:54:11 · 325 阅读 · 0 评论 -
C++之智能指针
C++之智能指针原创 2021-05-28 17:13:35 · 474 阅读 · 0 评论 -
C++之部分关键字
C++之部分关键字auto类型说明符,编译器通过初始值来进行类型推演,auto定义的变量必须有初始值。auto name=value;decltypevolatilemutableexplict原创 2021-05-26 10:58:59 · 94 阅读 · 0 评论 -
C++之内联函数
C++之内联函数原创 2021-05-23 10:13:50 · 224 阅读 · 1 评论 -
C++之函数重载/重写/隐藏
C++之重载、重写、隐藏原创 2021-05-22 09:30:11 · 200 阅读 · 2 评论 -
C++之strlen和sizeof
C++之strlen和sizeof首先需要知道的是sizeof是一个运算符,在编译时刻就进行运算,而strlen是一个函数,并且所传入的参数必须是char*,发生在运行时刻。strlen:计算字符串的长度,遇到第一个NULL("\0")为止,不包括"\0"。sizeof:计算变量或者对象、类型所占字节多少。当参数是如下类型,sizeof返回的值表示的含义如下:数组——编译时分配的数组空间大小;指针——存储该指针所用的空间大小(在32位系统是4,在64系统是8);类型——该类型所占的空间大小;对原创 2021-05-21 11:17:39 · 394 阅读 · 0 评论 -
C++之const
C++之const原创 2021-05-21 09:22:16 · 238 阅读 · 0 评论 -
C++之数组名和指针
C++之数组名和指针一般来说,可以将数组名看作指向数据首元素的指针,但是数组名和真正的指针还是有一点区别,以下面这个简单的程序开始:int a[6] = { 1,2,3,4,5,6};int *p = &a[0];int b[] = { 1,2,3 };int main() { cout << &a << endl; cout << &a[0] << endl; cout << a << endl原创 2021-05-21 08:33:32 · 621 阅读 · 0 评论 -
C++之结构体内存对齐
C++之结构体内存对齐内存对齐原因首先要知道,cpu是把内存当作一块一块来读取的,块的大小可以是2,4,8,16个字节,这样内存不对齐就可能会导致每次读取数据需要读取两次,内存对齐之后读取一次就行,可以大大提高内存的访问速度。结构体内存对齐原则第一个成员在与结构体偏移量为0的地址处其他成员变量要对齐到对齐数的整数倍的地址处。对齐数=编译器默认的一个对齐数和该成员大小的较小值。VS默认对齐数8,gcc默认对齐数4结构体总大小:最大对齐数(所有变量类型最大者和默认对齐参数取最小)的整数倍。如果嵌原创 2021-05-20 08:11:07 · 479 阅读 · 0 评论 -
C++之虚函数
C++之虚函数介绍首先要明白什么是虚函数,函数名称前面加上virtual这个函数就称为虚函数,常用在继承关系里,子类想要修改父类的某个函数,就将父类对应的函数声明为虚的。非虚函数:普通函数,你不希望子类重新定义(重写)它虚函数:你希望子类重新定义它,并且它已经有默认定义纯虚函数:你希望子类一定重新定义它,你对他没有默认定义。如下程序:class Shape{public: virtual void draw()const=0;//纯虚函数 virtual void error(c原创 2021-05-19 15:12:06 · 234 阅读 · 0 评论 -
C++之模板
C++之模板函数模板类模板原创 2021-05-18 21:25:21 · 104 阅读 · 0 评论 -
C++之this
C++之this原创 2021-05-18 08:45:19 · 418 阅读 · 0 评论 -
C++之static
C++之static静态全局变量控制变量的存储方式和可见性,静态全局变量不能被其它文件所用;其它文件中可以定义相同名字的变量,不会发生冲突。即作用域为本文件,全局变量作用域为整个工程。函数:静态局部变量,静态函数先来看程序void text(){ static int a=0;//静态局部变量,即使多次调用,也只分配一次内存空间,即只初始化一次,直到所有程序结束。当然,函数本身只有它被调用的时候才会出现这个变量,当函数调用结束的时候这个静态变量仍存在,并且存在的值是上次调用函数之后变量可能修原创 2021-05-17 22:08:32 · 158 阅读 · 0 评论 -
C++之内存管理
C++之内存管理内存分区在C++中,内存分为5个区。分别是栈区,堆区,自由存储区,全局/静态存储区,常量存储和代码区。栈区:存放局部变量,函数的参数,返回值等,由编译器自动分配释放。分配效率高,但是分配的内存容量有限。是存在于某作用域的一快内存空间,例如当你调用函数,函数本身即会形成一个stack来放置它所接受的参数,以及返回地址。函数本体内声明的任何变量,其所使用的内存都来自己栈。堆区:OS提供的一块全局内存空间,动态分配内存,由程序员分配释放,如果程序员不是放,程序结束OS回收自由存储区:由原创 2021-05-17 10:53:39 · 280 阅读 · 0 评论 -
C++之深拷贝和浅拷贝
C++之深拷贝和浅拷贝最近一直在刷链表的题目,近期会来一次链表的总结。今天来苏州开会,晚上没事就复习了下C++基础知识,于是就写下了这篇博客。其他还有像this,内联函数,虚函数,构造函数和析构函数,内存,对象模型等等这些问题,这都是面试常问的内容,当然我以后也会更新这些,希望和大家一起学习。讲深拷贝之前先来说一下浅拷贝,浅拷贝对于某些问题并不适用,于是才有了深拷贝,至于是什么问题,下面我会一一介绍。先说明,程序是我看侯捷老师 的视频跟着敲下来的,稍微有点改动,后面也会附上侯捷老师的视频地址。先给出浅原创 2021-05-15 11:59:06 · 409 阅读 · 0 评论
分享