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
相关推荐
猎板PCB厚铜专家大族2 分钟前
高频 PCB 技术发展趋势与应用解析
人工智能·算法·设计规范
dying_man13 分钟前
LeetCode--24.两两交换链表中的结点
算法·leetcode
yours_Gabriel13 分钟前
【力扣】2434.使用机器人打印字典序最小的字符串
算法·leetcode·贪心算法
草莓熊Lotso1 小时前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
KyollBM1 小时前
【CF】Day75——CF (Div. 2) B (数学 + 贪心) + CF 882 (Div. 2) C (01Trie | 区间最大异或和)
c语言·c++·算法
CV点灯大师1 小时前
C++算法训练营 Day10 栈与队列(1)
c++·redis·算法
GGBondlctrl2 小时前
【leetcode】递归,回溯思想 + 巧妙解法-解决“N皇后”,以及“解数独”题目
算法·leetcode·n皇后·有效的数独·解数独·映射思想·数学思想
武子康2 小时前
大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
大数据·人工智能·算法·机器学习·语言模型·spark-ml·boosting
武子康2 小时前
大数据-277 Spark MLib - 基础介绍 机器学习算法 Gradient Boosting GBDT算法原理 高效实现
大数据·人工智能·算法·机器学习·ai·spark-ml·boosting