C++ 中的 typedef 和 using

  1. 语法: typedef 的语法相对固定,而 using 在C++11之后提供了更灵活的方式,可以定义模板别名等。
  2. 模板别名: 在C++11之后,using 可以用来定义模板别名,而 typedef 则无法做到这一点
  3. 作用域: 在命名空间中使用 usingtypedef 有一些差异,using 更符合命名空间的作用域规则,typedef 则没有这种作用域概念。

总的来说,using 更加现代化且灵活,尤其在C++11之后,推荐使用它来定义别名。

模板别名的例子:

cpp 复制代码
template <typename T> using PromisePtr = RefPtr<Promise<T>>;
//使用 模板类型别名:
template <typename TRet>
PromisePtr<TRet> unwrap(Promise<TRet>* p)
{
    return p;
}
template <typename TRet>
PromisePtr<TRet> unwrap(PromisePtr<TRet> p)
{
    return p;
}
相关推荐
晨尘光11 小时前
【Windows 下FlatBuffers 编译.fbs文件并应用】
c++·windows
LCG米11 小时前
嵌入式Python工业环境监测实战:MicroPython读取多传感器数据
开发语言·人工智能·python
煤球王子11 小时前
学而时习之:C++中的文件处理2
c++
武汉唯众智创12 小时前
职业院校C语言程序设计(AIGC版)课程教学解决方案
c语言·开发语言·aigc·程序设计·c语言程序设计·c语言程序设计实训室
fakerth12 小时前
【OpenHarmony】设计模式模块详解
c++·单例模式·设计模式·openharmony
qq_4017004112 小时前
C语言void*
c语言·开发语言
sg_knight12 小时前
Python 面向对象基础复习
开发语言·python·ai编程·面向对象·模型
biter down12 小时前
C++ 解决海量数据 TopK 问题:小根堆高效解法
c++·算法
程芯带你刷C语言简单算法题12 小时前
Day28~实现strlen、strcpy、strncpy、strcat、strncat
c语言·c++·算法·c
一个不知名程序员www12 小时前
算法学习入门--- 树(C++)
c++·算法