C++中的using关键字

1. 类型别名

using关键字可以用来为类型创建一个新的名字,这在代码的可读性和维护性方面非常有帮助。

cpp 复制代码
// 定义类型别名
using IntPtr = int*;

// 使用
int value = 5;
IntPtr ptr = &value;

2. 命名空间别名

如果你正在使用一个非常长的命名空间,可以使用using为其定义一个别名,简化代码。

cpp 复制代码
namespace very_long_namespace {
    int func() {
        return 5;
    }
}

// 定义命名空间别名
using vln = very_long_namespace;

// 使用
int value = vln::func();

3. 命名空间导入

使用using关键字可以将命名空间中的单个成员或整个命名空间导入到当前作用域,减少代码的冗余。

cpp 复制代码
using std::string;

// 或导入整个命名空间
using namespace std;

4. 模板别名

在模板编程中,using关键字能够为模板定义一个新的别名,使得模板的实例化更加简洁。

cpp 复制代码
template<typename T>
using Vec = std::vector<T>;

// 使用
Vec<int> intVector;
相关推荐
程序猿编码14 分钟前
不依赖 vLLM/llama.cpp:一套面向学习的 DeepSeek-R1 CUDA 推理实现
c++·学习·语言模型·llama·vllm·大模型推理
kiracrimson32 分钟前
string 容器:从 C 字符串到会自己扩容的类
开发语言·数据结构·c++·stl
程序猿编码36 分钟前
纯 C++ 手写 LLM 推理引擎:分页 KV 缓存、连续批、多卡张量并行全部内置
c++·深度学习·缓存·大模型推理·自动微分·模型推理
G018_star sky♬1 小时前
nodeJS他是如何用JavaScript封装C++的呢
开发语言·javascript·c++
choumin2 小时前
C++中std::move和std::forward的关系和区别
c++·std move·std forward·关系和区别
程序猿编码2 小时前
YOLOv5/v7/YOLOX 全支持:基于 TensorRT 的工业视觉推理底座详解
c++·yolo·机器学习·推理·模型推理
kyle~2 小时前
C++ 原子操作、内存模型与无锁并发编程
linux·开发语言·c++·操作系统
another heaven2 小时前
【C/C++ C++ 面向对象架构的五大特点与能力场景:封装、继承、多态、抽象与 RAII(含实战案例)】
c语言·c++·架构
努力努力再努力wz3 小时前
【C++ 高阶系列】C++ 高性能网络编程:当 Reactor 遇见协程:从 epoll 回调到异步 MySQL,彻底打通任务挂起与恢复
网络·c++·mysql
霍霍的袁3 小时前
【C++11】左值右值引用与移动语义详细笔记(左值右值、右值引用、移动构造、移动赋值、引用折叠、万能转发)
c++·笔记·学习·visual studio