C++ 头文件的循环引用
前言在实现设计模式中的观察者模式时,想要完成的功能是:被观察者数据改变时通知观察者,而观察者能够知悉是哪些数据发生了改变(被观察者作为参数传递)这里就产生了循环引用,被观察者中包含了观察者,而观察者也包含了被观察者,导致出错。解决方案:前向声明在形如以下的循环引用结构,可以通过前向声明解决// A.
C++ 继承中方法调用总结
C++ 继承中方法调用总结前言C++ 的继承和多态无疑是一个非常有用的特性,但在实际使用过程中,有一些新手十分容易犯的错误,这里做个整理和总结,列举了继承下各种函数声明及实际调用情况。类说明用于演示的类如下:class Father{public: void speak();};class S
CMake 和 Makefile 之光速入门
CMake 和 Makefile 之光速入门Makefile 由来在使用编译器进行编译时,例如 g++ main.cpp source1.cpp source2.cpp -o main,将编译三个 cpp 文件,并生成一个 main.exe 的可执行文件。编译命令非常简单,但这在编译文件非常多时,就
Git 之光速入门系列-下
Git 之光速入门系列前言Git 是开发过程中非常重要的一个工具,几乎是所有开发工作必须的,在本科阶段一知半解的,即使有 Git 的使用场景也没有深入去学习过。看了许多 Git 教程和资料之后,在这里做个整理,提炼出最核心的原理,帮助你快速入门 Git。但 Git 总归是个工具,需要动手实践才能快速
Git 之光速入门系列-中
Git 之光速入门系列前言Git 是开发过程中非常重要的一个工具,几乎是所有开发工作必须的,在本科阶段一知半解的,即使有 Git 的使用场景也没有深入去学习过。看了许多 Git 教程和资料之后,在这里做个整理,提炼出最核心的原理,帮助你快速入门 Git。但 Git 总归是个工具,需要动手实践才能快速