Linux
日行半米
分享知识与快乐。
展开
-
makefile通过d文件自动添加h头文件
makefile通过生成.d文件,自动加载.h文件 obj_cpp:=$(wildcard *.cpp) obj:=$(patsubst %.cpp,%.o, $(obj_cpp)) obj_d:=$(patsubst %.cpp,%.d, $(obj_cpp)) CC=gcc .PHONY : main main : main.a main.a : $(obj) $(CC) -o main.a $(obj) -lstdc++ include $(obj_d) %.d : %.cpp @set原创 2021-10-13 16:12:40 · 756 阅读 · 0 评论 -
RTTI和对象转型
运行期型式信息RTTI RTTI 运行期间表示对象的型式信息 优势:允许使用指向基类的指针或引用自如地操纵派生类对象 typeid:获取表达式的类型;type_info:型式信息类; 头文件:“typeinfo” 对象转型模板 dynamic_cast:动态转型(类类型指针或引用的转型) static_cast:静态转型 reinterpret_cast:复诠转型 const_cast:常亮转型 type_info类 编译器实现的动态形式信息类型; 用于在程序运行时保存数据对象的形式信息; 不能直接使原创 2021-01-14 21:55:49 · 109 阅读 · 0 评论 -
C++异常处理机制
异常处理机制 1、异常的定义 程序中可以检测的运行的不正常的情况 异常处理基本流程 某段程序执行期间,引发异常 另一段代码捕获异常 调用Stack::Pop()时,栈为空 解决方案: 定义异常类; 修改成员函数,出现异常时引发异常,并抛出; 在需要处理的地方处理该异常。 class EStackEmpty{}; class EStackFull{}; //自定义异常类JuStack声明略 int JuStack::Pop(){ if(IsEmpty())//引发空栈异常,构造该异常类的一个对象并原创 2021-01-14 21:52:21 · 160 阅读 · 0 评论