c++comehere
c++comehere
全部文章
C/C++
c++(2)
git(1)
业务流程测试(1)
剑指offer阅读笔记(3)
日常学习(1)
游戏(1)
归档
标签
去牛客网
登录
/
注册
c++comehere的博客
全部文章
/ C/C++
(共11篇)
【C++ primer 5e】第一章开始
知识点整理 endl 操纵符之一,结束当前行,并将设备关联的缓冲区中的内容刷到设备中。缓冲刷新操作保证到目前为止的程序所产生的所有输出都真正写入到输出流中,而不是仅停留在内存等待写入流。 程序员常常在调试时添加打印语句。这类语句应该保证一直刷新流。 否则,如果程序崩溃,输出可能还留在缓冲区中,从...
c++
2021-03-14
1
431
C++中 value category & move
原来我也只知道C++中有左值和右值,通过今天的学习才知道,C++中不光有左值和右值。 C++中有5种值类别,lvalue, rvalue, glvalue, xvalue, prvalue lvalue: 左值 rvalue: 右值 glvalue: generalized lvalue, 广义...
c++
2021-03-06
0
554
C++手把手带你实现一个智能指针
为什么需要智能指针? 这个问题承接上一篇文章《C++ 堆,栈,RAII》,在RAII的指引下,我们需要实现一个类来管理资源,将资源和类对象的生命周期进行绑定,这样我们就可以不用手动释放资源了。 那为什么把类实现成 like pointer? 上篇文章中说道,因为C++存在对象切片,而使用指针就避免了...
c++
2021-03-05
0
817
C++堆,栈,RAII
堆英文名称 heap,在内存管理的语境下,指的是动态分配的内存空间,这个和数据结构的堆是两回事。 这里的内存,被分配之后需要手动释放,否则会引发内存泄漏。 那怎么申请一个堆内存空间呢? C语言中使用void* malloc(size_t size)来申请一块内存空间,size为申请的字节数。 使用v...
c++
2021-03-05
0
623
C++ static, const, volatile 总结
const const 位于 *的左侧: 用来修饰指针所指向的变量,指针指向常量。 // 指针不允许改变数据 int b = 500; const int *a = &b; *a = 600; // error // 可以通过变量本身去修改 int b = 500; const int...
c++
2021-03-02
0
470
C++ RTTI 和四种类型转换
RTTI 是 Run Time Type Information 的缩写,从字面上来理解就是执行时期的类型信息,其重要作用就是动态判别执行时期的类型。 并不是说这篇文章是RTTI,和用于RTTI的四种类型转换,而是介绍RTTI,再介绍一下4种类型转换,因为RTTI有用到其中一种类型转换,所以相当于两...
c++
2021-03-02
0
560
c++虚继承,多继承
看这一篇文章之前强烈建议先看以下我之前发布的 虚指针,虚函数剖析 例1: 以下代码输出什么? #include <iostream> using namespace std; class A { protected: int m_data; public: A(in...
c++
2021-02-28
0
779
关于面向对象的面试知识点整理(一)
例1: C++ 中的空类默认产生哪些类成员函数? 对于一个空类,编译器默认产生4个成员函数:默认构造函数、 析构函数、 拷贝构造函数和赋值函数。 例2: structure是否可以拥有constructor / destructor及成员函数?如果可以, 那么structure和class还有区...
2021-02-27
0
429
C++怎么判断大小端模式
大小端模式: 大端模式: 先存放最高有效字节,表现为最高有效字节存储在低地址 小端模式: 先存放最低有效字节,表现为最低有效字节存储在低地址 小端模式便于机器处理, 大端模式方便人阅读。 测试平台的字节序模式: // 代码1 union test { int a; ...
2021-02-27
0
514
虚函数,虚表深度剖析
面向对象,从单一的类开始说起。 class A { private: int m_a; int m_b; }; 这个类中有两个成员变量,都是int类型,所以这个类在内存中占用多大的内存空间呢? sizeof(A), 8个字节,一个int占用四个字节。下图验证: 这...
2021-02-27
0
528
首页
上一页
1
2
下一页
末页