---
title: 构造函数
description: "创建一个补维规则。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/basicdataapi/atlasopapi_07_00062.html
sourcePath: /source/zh/canncommercial/900/maintenref/basicdataapi/atlasopapi_07_00062.html
indexId: 57e2ba16b08bee5dbda4c8bab7b9c5903ee0323680d23429532fb4bdd9de28e178
---
# 构造函数

#### 函数功能

创建一个补维规则。


#### 函数原型

- 构造的实例中，补维规则（mask_）以及补维后的维度（size_）均为0
  1 ExpandDimsType() : size_(0U), mask_(0U)

- 通过字符串创建一个补维规则
  1 explicit ExpandDimsType(const ge::char_t *const expand_dims_type)


- 通过int64_t位域定义创建一个补维规则
  1 explicit ExpandDimsType(const int64_t reshape_type_mask)


#### 参数说明


**表1 参数说明**

| 参数 | 输入/输出 | 说明 |
| --- | --- | --- |
| expand\_dims\_type | 输入 | 字符串描述的补维规则。字符串长度最大为56字节。 |
| reshape\_type\_mask | 输入 | int64\_t类型的补维规则，共64位，int中的位域定义参见int64\_t位域定义。 为了简化，补维规则部分与字符串的顺序相反，例如字符串描述的补维规则为"1100"，那么对应的补维规则为"0011"，转换为数字为3。补维规则的概念和描述方法请参考简介。 |


**表2 int64_t位域定义**

| 字段 | 类型 | 含义 |
| --- | --- | --- |
| 高8比特 | uint8\_t | 补维规则长度。 |
| 低56比特 | 位域 | 使用0、1描述的补维规则。 |


#### 返回值说明

返回一个ExpandDimsType对象。


#### 约束说明

无。


#### 调用示例

```
ExpandDimsType type("1001"); // 设置mask_为1001，size_为4
```
