C++11新特性:using和namespace的特殊用处

本文介绍了C++11的新特性,包括using的类型别名和别名模板,以及namespace的命名空间、命名别名。通过代码示例展示了如何使用这些新特性,强调了它们在防止名字冲突和提高代码可读性方面的作用。测试环境为VS2017,适合C++开发者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

零、前言

C++11以后增加了许多新的特性,这些新的特性越来越方便C++程序员的编码,也再次赋予了C++新的活力与朝气!截止到目前C++20的标准已经出来了,C++这位“老先生”正在紧跟时代的步伐!作为Cpper也应该紧跟这位“老先生”脚步。

一、using

1、类型别名

C++中通常使用typedef来定义一个类型别名,尤其是在使用一些名字比较长的类型、一些模板或者域的时候,使用别名的优势显得更加突出。

C++11以后,定义类型别名不再是typedef的专利,using也可以用来定义类型别名了,并且可读性更强,using可以像定义一个变量一样来给一个类型取一个别名。

2、别名模板

using提供了别名模板的功能,别名模板是指代一族类型的名字,当模板特化时等价于以别名模板的模板实参来替换类型标识中的模板形参的结果。

3、代码示例

// UsingTest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <vector>

using namespace std;

// UINT和Uint都是unsigned int的别名
typedef unsigned int UINT;
using Uint = unsigned int;

using ULL = unsigned long long;

// using 定义别名模板
template<typename T>
using vec = vector<T>;

int main()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值