Effective C++学习笔记 Posted on 2019-07-23 | In C++ 1. 基础部分1.1 条款1: 视C++为一个语言联邦C++语言的四个层次: C。没有C++的面向对象,没有模板,没有异常,没有重载等。 Object-Oriented C++。也就是C with Classes。classes、封装、继承、多态、虚函数。是面向对象的特性。 Template C+ ... Read more »
Git SSH 配置 Posted on 2019-04-05 | In git Tips: Github about ssh这两天在搭建Github博客,在配置ssh时遇到了一些坑,网上的很少写得齐全,第一篇博客就把这个坑填上吧。Tips: 本次配置在Windows环境下,使用git bash。Linux下命令基本一致。步骤1. 查看本地是否存在ssh12$ cd ~/.ssh ... Read more »
C++智能指针原理及简单实现 Posted on 2019-04-05 | In C++ 指针是C++ 的一大利器,但是用得不好又容易引发灾难。幸而C++ 引入了智能指针,简直是我等手残患者的福音。STL中有几种智能指针类型,包括auto_ptr(已弃用),share_ptr,unique_ptr,和weak_ptr。其中,后三者是C++11才加入到标准中的。三者有何不同,请看维基百科: ... Read more »
二叉查找树 Posted on 2017-08-07 | In 数据结构 二叉查找树(Binary Search Tree)是一种特殊的二叉树,通常应用于动态数据的查找。 二叉查找树具有以下特性: 若左子树不为空,则左子树的值小于它的根节点的值; 若右子树不为空,则右子树的值大于它的根节点的值; 任意节点的左右子树均为二叉查找树; 没有键值相等的节点。 二叉查找树 ... Read more »
二叉树 Posted on 2017-08-03 | In 数据结构 定义:二叉树(binary tree)t是有限个元素的集合(可以为空)。当二叉树非空时,其中有一个称为根的元素,余下的元素(如果有的话)被组成2个二叉树,分别称为t的左子树和右子树。 所谓二叉树(Binary Tree),其意义是:“任何节点最多只允许两个子节点”。如果以递归的方式来定义二叉树, ... Read more »
Qt中关于使用QOpenglWidget并全屏时出现的bug Posted on 2017-07-28 | In Qt Tips:bug出现的软件环境:Win10,Qt5.7.2,msvc14编译器最近在用QOpenglWidget时,发现一旦showFullScreen(),就会出现无法打开QFileDialog的bug。仔细看并不是无法打开,而是打开了,但是无法渲染出来,就像透明了一样,然而鼠标移动过去是能发现弹 ... Read more »
C++ list insert源码简析 Posted on 2017-07-27 | In C++ stl::list是一个双向链表,list本身和list节点是不同的结构,stl::lilst中的节点(node)结构如下:Tips:以下代码摘自《STL源码剖析–侯捷》1234567template <class T>struct __list_node { typed ... Read more »