哪些是C ++中的类型构造函数?

时间:2014-05-17 22:36:58

标签: c++

在许多编程语言中,有方法可以从内置函数中定义新类型

在C ++中可以用方式做什么?

让我勾出明显的一些:

  • 指针:将*应用于类型会提供新类型pointer to type
  • 数组:您可以创建一个内置类型的数组,这将定义一个新类型
  • templates:您可以在定义新类型的类模板T中包装任何内置类型my_class<T>

2 个答案:

答案 0 :(得分:2)

声明者级别有三种类型的修饰符:

  • 指向键入类型/引用的指针;
  • 类型元素数组;
  • 功能,返回类型;

虽然有某些限制,但您可以组合这些修饰符。修饰符const未创建新数据类型。我限制了适用的操作集。

班级有两件事:

  • 派生类;
  • 模板专业化;

再一次,这些是已经存在的东西的修饰语。联合和结构创建新对象,它们不会修改其包含的字段。

答案 1 :(得分:0)

rici的评论中所述,相关的标准报价见3.9.2。

本段描述了复合类型

的创建
  

化合物类型可以通过以下方式构建

     

- 给定类型的对象数组,8.3.4;

     

- 具有给定类型参数并返回给定类型的引用或对象的函数,8.3.5;

     

- 指向给定类型的void或对象或函数(包括类的静态成员)的指针,8.3.1;

     

- 对给定类型的对象或函数的引用,8.3.2。有两种类型的参考:

     

- 左值参考

     

- 右值参考

     

- 包含各种类型对象序列的类(第9节),一组类型,用于操作这些对象的枚举和函数(9.3),以及对这些实体的访问的一组限制(第11条);

     

- 联合,它是能够在不同时间包含不同类型对象的类,9.5;

     

- 枚举,包含一组命名常量值。每个不同的枚举构成一个不同的枚举类型,7.2;

     

- 指向非静态类成员的指针,这些成员在给定类的对象中标识给定类型的成员,8.3.3。