using 和 typedef 的别名大作战

在为数据类型创建别名时,我们可以使用 typedefusing关键字。但是二者有什么不同呢 🤔,下面笔者抛砖引玉,做一个简单的介绍。

1. typedef

typedefC++ 中较早引入的一种方法,用于为数据类型创建别名。其基本语法如下:

typedef <existing_type> <new_type_name>;

<existing_type> 是已经存在的数据类型,而<new_type_name> 是为该数据类型创建的新名称。

typedef int Integer; // 创建一个名为Integer的别名,代表int类型

使用 typedef 可以为各种数据类型创建别名,包括基本数据类型(如 intfloat 等)、指针、数组等。

2. using

using 是C++11引入的一种新方法。
语法如下:

using <new_type_name> = <existing_type>;

<existing_type> 是已经存在的数据类型,而<new_type_name> 是为该数据类型创建的新名称。

using Integer = int; // 创建一个名为Integer的别名,代表int类型

与typedef不同,using关键字允许创建模板别名,从而提供了更大的灵活性。

3. 二者差异

  1. 语法差异:
typedeftypedef <existing_type> <new_type_name>;
usingusing <new_type_name> = <existing_type>;
  1. 可读性:
    using更直观,因为它将新名称放在等号的左侧。
  2. 支持模板:
    using 可以创建模板别名,而 typedef 不能。
  3. 可替代性:
    using 可以替代几乎所有 typedef 的用法,并且在 C++11 中已被推荐使用。
// 使用typedef创建别名
typedef int Integer_t;
Integer_t num1 = 10;

// 使用using创建别名
using Integer_u = int;
Integer_u num2 = 20;

// 使用using创建模板别名
template<typename T>
using Pointer_u = T*;
Pointer_u<int> ptr = new int(30);

以上就是一个简单的介绍,感兴趣的朋友可以去参考下面 c++的使用文档。
using from cppreference
typedef from cppreferrence

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_a_yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值