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