Jao Blog

C++ 预处理器

预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理。 所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前。预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾。 define预处理 #define 预处理指令用于创建符号常量。该符号常量通常称为宏,指令的一般形式是: #define macro-name replacement-text ...

C++ 模板

模板是泛型编程的基础,泛型编程是以一种独立于任何特定类型的方式编写代码。 使用模板可以下厨类型无关的代码,编译器会在使用时生成具体类型版本。 简单来说,模板就是在实例化函数或类的时候,把类型当作参数传进去或者编译一起自动推断类型,然后分别生成不同类型的函数或者类。 函数模板 模板函数定义的一般形式如下: template <typename type> ret-type...

C++ 动态内存

C++程序中,内存分为: 栈:在函数内部声明的所有变量都将占用栈内存。 堆:程序中未使用的内存,在程序运行时可用于动态分配内存。 对于确定的变量,通常在栈上进行内存空间申请。 对于无法提前预知需要多少内存来存储某个定义变量的特定信息,所需内存的大小需要在运行时才能确定时,可以使用特殊的运算符为给定类型的变量在运行时分配堆内的内存。 申请动态内存时使用new,不需要动...