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
相关推荐
njidf29 分钟前
C++中的访问者模式
开发语言·c++·算法
C_Si沉思1 小时前
C++中的工厂模式变体
开发语言·c++·算法
C羊驼1 小时前
C语言学习笔记(十五):预处理
c语言·经验分享·笔记·学习·算法
m0_569881471 小时前
C++中的适配器模式变体
开发语言·c++·算法
NAGNIP1 小时前
面试官:正则化都有哪些经典的方法?
算法·面试
Theodore_10222 小时前
深度学习(12)正则化线性回归中的偏差与方差调试
人工智能·深度学习·算法·机器学习·线性回归
m0_569881472 小时前
跨语言调用C++接口
开发语言·c++·算法
老鼠只爱大米2 小时前
LeetCode经典算法面试题 #295:数据流的中位数(双堆法、有序列表、平衡树等多种实现方案详解)
算法·leetcode·优先队列··数据流·中位数·java 面试题
x_xbx2 小时前
LeetCode:215. 数组中的第K个最大元素
数据结构·算法·leetcode
黎阳之光3 小时前
AI数智筑防线 绿色科技启新篇——黎阳之光硬核技术赋能生态安全双升级
大数据·人工智能·算法·安全·数字孪生