typedef、using、#define

typedef 用于给已有的类型创建别名,适用于类型的重命名。它可以用于基本类型、结构体、指针、函数指针、模板等。

复制代码
typedef int tt;  // 给 int 创建别名 tt
tt a = 10;  // 相当于 int a = 10;

typedef 创建的别名会进行类型检查,因此它是类型安全的。

using 语法是 C++11 引入的,用于创建类型别名,语法更简洁。它与 typedef 功能类似,但语法上更清晰,也能用于模板类型别名。

复制代码
using tt = int;  // 给 int 创建别名 tt
tt a = 10;  // 相当于 int a = 10;

#define 是 C 语言和 C++ 中的预处理指令,用于定义宏(常量、代码片段等)。它在编译前进行文本替换,不会进行类型检查。

复制代码
#define PI 3.14159  // 定义常量 PI
float area = PI * r * r;  // 编译前会将 PI 替换为 3.14159
相关推荐
浅念-1 天前
刷穿LeetCode:BFS 解决 Flood Fill 算法
数据结构·c++·算法·leetcode·职场和发展·bfs·宽度优先
做cv的小昊1 天前
【TJU】研究生应用统计学课程笔记(8)——第四章 线性模型(4.1 一元线性回归分析)
笔记·线性代数·算法·数学建模·回归·线性回归·概率论
贾斯汀玛尔斯1 天前
每天学一个算法--倒排索引(Inverted Index)
算法·inverted-index
小e说说1 天前
打破偏科困境:这些学习软件助孩子重燃学习热情
算法
月昤昽1 天前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
休息一下接着来1 天前
C++ 固定容量环形队列实现
c++·算法
im_AMBER1 天前
手撕hot100之矩阵!看完这篇就AC~
javascript·数据结构·线性代数·算法·leetcode·矩阵
笨笨饿1 天前
#79_NOP()嵌入式C语言中内联汇编宏的抽象封装模式研究
linux·c语言·网络·驱动开发·算法·硬件工程·个人开发
风萧萧19991 天前
问答样例如何在RAG问答中使用?
算法