using 模板的别名
来源:互联网 发布:阿里云域名需要备案吗 编辑:程序博客网 时间:2024/04/28 07:06
#include "stdafx.h"
#include <iostream>
#include <type_traits>
using namespace std;
/*
template (模板)是用来产生 template class (模板类型,是类型)。
在标准 C++,typedef 可定义类型的别名,但是不能够使用 typedef 来定义模板的别名。
为了定义模板的别名,C++11 将会增加以下的语法:
using 别名=
*/
template< typename T1, typename T2, int a>
class A
{
public :
A()
{
cout << typeid(T1).name() << " " << typeid(T2).name() << " " << a << endl;
}
};
/*
template< typename T2>
typedef A< int , second, 111> A0; // 在C++是不合法的
*/
template< typename T2>
using A1 = A< float, T2, 111>;
template<int c >
using A2 = A< float, char , c>;
// using 也能在 C++11 中定义一般类型的别名,等同 typedef:
typedef int INT1;// 傳統語法
using INT2 = int;// 新增語法
typedef void(*pFun1)(double); // 傳統語法
using pFun2 = void(*)(double); // 新增語法
void fun( double d )
{
cout << d << endl;
}
int main()
{
A1<int> a1;
A2<222> a2;
INT2 c = 1000;
cout << c << endl;
pFun2 f = fun; //或者pFun2 f = &fun
f(12.3456);
}
#include <iostream>
#include <type_traits>
using namespace std;
/*
template (模板)是用来产生 template class (模板类型,是类型)。
在标准 C++,typedef 可定义类型的别名,但是不能够使用 typedef 来定义模板的别名。
为了定义模板的别名,C++11 将会增加以下的语法:
using 别名=
*/
template< typename T1, typename T2, int a>
class A
{
public :
A()
{
cout << typeid(T1).name() << " " << typeid(T2).name() << " " << a << endl;
}
};
/*
template< typename T2>
typedef A< int , second, 111> A0; // 在C++是不合法的
*/
template< typename T2>
using A1 = A< float, T2, 111>;
template<int c >
using A2 = A< float, char , c>;
// using 也能在 C++11 中定义一般类型的别名,等同 typedef:
typedef int INT1;// 傳統語法
using INT2 = int;// 新增語法
typedef void(*pFun1)(double); // 傳統語法
using pFun2 = void(*)(double); // 新增語法
void fun( double d )
{
cout << d << endl;
}
int main()
{
A1<int> a1;
A2<222> a2;
INT2 c = 1000;
cout << c << endl;
pFun2 f = fun; //或者pFun2 f = &fun
f(12.3456);
}
阅读全文
0 0
- using 模板的别名
- c++11之模板别名(using)
- c++11 template using,模板别名
- c++11模板别名using=
- using 名称空间的别名
- c# using 的使用方法,using别名
- 模板别名
- 模板别名
- using(指令、别名、语句)
- C#using别名指令
- C# using别名
- c++ 模板(1) 模板的声明以及类型别名
- C# using创建命名空间或类的别名
- 模板、模板别名、c++风格数组别名
- C++ template 模板 模板别名
- C++11 理解 (十五) 之 模板的别名
- C++11之模板别名&函数模板的默认模板参数
- 【C/C++学院】0816-引用包装器/仿函数/转义字符 R”()”/using别名/模板元编程 比递归优化/智能指针/多线程/静态断言以及调试技能的要求 assert
- 【备忘】黑马程序员Android62期 视频教程下载
- 二进制大数相加(可扩展至n进制大数相加)
- tensorflow的一些代码分析(三) tensorflow多层LSTM代码分析
- python k-means聚类
- Laplace(拉普拉斯)平滑
- using 模板的别名
- Spring快速入门示例
- Java获取登录电脑的ip
- nginx phase_handler
- JAVA版的快排
- angular js 打开下载文件时文件名称为中文 IE浏览器出现乱码问题
- linux命令的总结
- Apach Zeppelin和Apach Livy搭配使用配置
- MySQL数据库(29)