自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++ 八股文【二】多态 虚函数指针

要了解C++中的面向对象的特性,除了使用方法外,了解其底层的技术细节对我们编程工作非常有帮助。尤其是了解对象的内存映像、vtable(虚函数表)的构造、vptr(虚函数指针)的插入和初始化时机、构造和析构函数的自动调用时机、对象的构造和析构次序、临时对象的创建和销毁、RTTI(运行阶段类型识别)的底层实习技术等。对象在内存中的布局我们首先看一下简单的非多态类Rectangle的对象内存映像:...

2020-02-13 22:21:26 851

原创 C++八股文【三】四种cast的原理与用途

cast主要用途是用于变量或指针之间的强制转换,内在的基本原理还是指针与内存截取,但是更安全static_cast:它的使用基本上与C中的括号强转没有什么区别,主要用于基本类型的强制转换,比如int32_t 与 short之间,转换规则与C基本一致,对数据的二进制截取,如果结果非法,会返回对应的0值或空指针dynamic_cast:即RTTI:(Run Time Type Identification)通过运行时类型识别,程序能够使用基类的指针或引用来检查着这些指针或引用所指的对象的实际派生类型。co

2021-11-28 22:33:25 629

原创 C++八股文【一】全局成员与静态成员

1.初始化引用和常量:必须通过构造函数的参数列表的方式初始化。静态变量: 必须在类定义体外进行初始化与定义静态常量:可以直接在类中初始化,也可以在类中声明,在类定义体外进行定义静态成员属于类作用域,但不属于类对象,它的生命周期和普通的静态变量一样,程序运行时进行分配内存和初始化,程序结束时则被释放。所以不能在类的构造函数中进行初始化。静态函数:因为static成员函数没有this指针,所以静态成员函数不可以访问非静态成员。非静态成员函数可以访问静态成员。静态数据成员与类的大小无关,因为静态成

2021-11-28 22:04:57 920

原创 Linux常用基础命令

常用基本命令查看文件信息:lsls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“…”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。ls常用参数:参数 含义 -a 显示指定目录下所有子目录与文件,包括隐藏文件 -l 以列表方式显示文件的详细信息 -h 配合 -l 以人性化的方式显示文件大小与DOS下的文件操作类似,在Unix/Linux系统中

2021-08-01 21:28:02 160

原创 Linux常用日志命令

Linux查看日志(系统、应用)使用技巧使用 重定向 输出到当前用户桌面例如: sudo journalctl -b -0 > $PWD/Desktop/system.log相关命令# 查看所有日志(默认情况下 ,只保存本次启动的日志)$ sudo journalctl # 查看内核日志(不显示应用日志)$ sudo journalctl -k # 查看系统本次启动的日志$ sudo journalctl -b$ sudo journalctl -b -0 # 查看上一

2021-08-01 18:44:33 168

原创 sanitizer工具集

sanitizer工具集的介绍Sanitizers是谷歌发起的开源工具集,包括了Address Sanitizer, undefined behavior Sanitizer, Thread Sanitizer, Leak Sanitizer。GCC从4.8版本开始支持Address sanitizer和Thread Sanitizer,4.9版本开始支持Leak Sanitizer和undefined behavior Sanitizer。Address Sanitizer(ASAN):  也即地址

2021-08-01 18:20:20 1358

原创 C++ 并发与多线程学习笔记(七)原子操作

引例先来设想一个场景:存在一个变量,有线程要读这个变量,有线程要写这个变量:int share_value = 0;void threadFunc(){ for (int i = 0; i < 100000; i++) //每个线程进行10万次计算 share_value++;}int main(){ clock_t start = clock();//为了分析性能,...

2020-03-06 14:21:59 180

原创 C++ 并发与多线程学习笔记(六)线程同步 condition_variable条件变量 async future

顾名思义,条件变量就是一种让线程满足的条件。需要和互斥锁配合使用官方文档:http://www.cplusplus.com/reference/condition_variable/condition_variable/需求:有时候,我们需要多个线程能够同时就绪,再继续往下执行,或者多个线程需要使用有限的互斥量,然后再继续执行。使线程之间从某处开始同步执行。std::condition_va...

2020-02-25 19:48:54 335

转载 C++在线编译器

在翻C++文档的时候发现的,网址http://cpp.sh/

2020-02-25 14:10:44 434

原创 C++ 并发与多线程学习笔记(五)单例设计模式 共享数据分析

在开始学习之前,先简单讲讲对于设计模式的概念,设计模式是一些代码的写法,并非什么新奇的技术,是一些歪果仁的模块化编程的经验总结,是一种设计程序的思想或者说思路模板。在前几年设计模式刚被引入的时候,大家觉得很高大上,因此曾被部分夸大,但实际中并不是必要的,用设计模式写出来的代码比较晦涩,维护、接手的时候都有一定难度。设计模式有它的优点,要活学活用,不要深陷其中,正确的认识它。所有实用的编程方法和技术......

2020-02-23 21:04:21 403

原创 C++ 并发与多线程学习笔记(四) 线程数据共享 互斥锁 死锁

消息队列的应用除了线程之间,还在进程间、系统间有广泛的应用,消息可以很简单,也可以很复杂,面对庞杂的数据时,消息队列是常用的思想,市面上有很多第三方软件封装好了消息队列供企业使用。

2020-02-21 16:56:24 350

原创 C++ 并发与多线程学习笔记(三)线程传参隐患 成员函数指针做线程函数

传递临时对象作为线程参数先来看一个例子:#include <string>#include <iostream>using namespace std;void myprint(const int &i,char *pmybuf){ cout << i << endl; cout << pmybuf <&lt...

2020-02-17 20:42:58 1061

原创 C++ 并发与多线程学习笔记(二)线程启动、结束、创建、join()、detach()

一个进程必然包含一个主线程,进程和主线程密不可分。thread:是一个标准库里的类实例化一个thread对象即可操作线程例:void myfun(){ ...}int main(){ ... std::thread myThreadObj(myfun); myThreadObj.join(); ... return 0;}join()方法:加入/汇合,作用是阻塞...

2020-02-16 14:22:01 603

Google C++编程风格指南.pdf

Google的开源项目大多使用C++开发。每一个C++程序员也都知道,C++具有很多强大的语言特性,但这种强大不可避免的导致它的复杂,这种复杂会使得代码更易于出现bug、难于阅读和维护。本指南的目的是通过详细阐述在C++编码时要怎样写、不要怎样写来规避其复杂性。这些规则可在允许代码有效使用C++语言特性的同时使其易于管理。风格,也被视为可读性,主要指称管理C++代码的习惯。使用术语风格有点用词不当,因为这些习惯远不止源代码文件格式这么简单。使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一编程风格意味着可以轻松根据“模式匹配”规则推断各种符号的含义。创建通用的、必需的习惯用语和模式可以使代码更加容易理解,在某些情况下改变一些编程风格可能会是好的选择,但我们还是应该遵循一致性原则,尽量不这样去做。本指南的另一个观点是C++特性的臃肿。C++是一门包含大量高级特性的巨型语言,某些情况下,我们会限制甚至禁止使用某些特性使代码简化,避免可能导致的各种问题,指南中列举了这类特性,并解释说为什么这些特性是被限制使用的。由Google开发的开源项目将遵照本指南约定。 注意:本指南并非C++教程,我们假定读者已经对C++非常熟悉。

2020-02-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除