主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

C++ 和强类型 MATLAB 代码之间的数据类型映射

C++ 到 MATLAB

该表显示了 C++ 数据类型到强类型 MATLAB® 数据类型的映射。

描述C++ 数据类型MATLAB 数据类型表示
实数双精度标量

double

(1,1) double {mustBeReal}

实数双精度向量

std::vector<double>

(1,:) double {mustBeReal}

复杂双标量
可以通过 C++ 重载作为普通实数传递给 MATLAB

std::complex<double>

(1,1) double

复杂双向量
可以通过 C++ 重载作为普通实数传递给 MATLAB

std::vector<std::complex<double>>

(1,:) double

实数单精度标量

float

(1,1) single {mustBeReal}

实数单精度向量

std::vector<float>

(1,:) single {mustBeReal}

复杂单标量
可以通过 C++ 重载作为普通实数传递给 MATLAB

std::complex<float>

(1,1) single

复杂单向量
可以通过 C++ 重载作为纯实数传递给 MATLAB

std::vector<std::complex<float>>

(1,:) single

实数整数标量

int8_t

int16_t

int32_t

int64_t

uint8_t

uint16_t

uint32_t

uint64_t

(1,1) int8 {mustBeReal}

(1,1) int16 {mustBeReal}

(1,1) int32 {mustBeReal}

(1,1) int64 {mustBeReal}

(1,1) uint8 {mustBeReal}

(1,1) uint16 {mustBeReal}

(1,1) uint32 {mustBeReal}

(1,1) uint64 {mustBeReal}

实数整数向量

std::vector<int8_t>

std::vector<int16_t>

std::vector<int32_t>

std::vector<int64_t>

std::vector<uint8_t>

std::vector<uint16_t>

std::vector<uint32_t>

std::vector<uint64_t>

(1,:) int8 {mustBeReal}

(1,:) int16 {mustBeReal}

(1,:) int32 {mustBeReal}

(1,:) int64 {mustBeReal}

(1,:) uint8 {mustBeReal}

(1,:) uint16 {mustBeReal}

(1,:) uint32 {mustBeReal}

(1,:) uint64 {mustBeReal}

复数整数标量

std::complex<int8_t>

std::complex<int16_t>

std::complex<int32_t>

std::complex<int64_t>

std::complex<uint8_t>

std::complex<uint16_t>

std::complex<uint32_t>

std::complex<uint64_t>

(1,1) int8

(1,1) int16

(1,1) int32

(1,1) int64

(1,1) uint8

(1,1) uint16

(1,1) uint32

(1,1) uint64

复数整数向量

std::vector<std::complex<int8_t>>

std::vector<std::complex<int16_t>>

std::vector<std::complex<int32_t>>

std::vector<std::complex<int64_t>>

std::vector<std::complex<uint8_t>>

std::vector<std::complex<uint16_t>>

std::vector<std::complex<uint32_t>>

std::vector<std::complex<uint64_t>>

(1,:) int8

(1,:) int16

(1,:) int32

(1,:) int64

(1,:) uint8

(1,:) uint16

(1,:) uint32

(1,:) uint64

逻辑标量

bool

(1,1) logical

逻辑向量

std::vector<bool>

(1,:) logical

字符标量

char16_t

(1,1) char

字符向量

std::u16string

(1,:) char

字符串

std::u16string

(1,1) string

字符串向量

std::vector<std::u16string>

(1,:) string

枚举标量

C++ 范围枚举

(1,1) MyEnumClass

枚举向量

限定范围的枚举的 std::vector

(1,:) MyEnumClass

MATLAB 到 C++

该表显示了强类型 MATLAB 数据类型到 C++ 数据类型的映射。

描述MATLAB 数据类型C++ 数据类型表示
实数双精度标量

(1,1) double {mustBeReal}

doublevector<double>

实数双精度向量

(1,:) double {mustBeReal}

std::vector<double>

复数双精度标量
存储为复数,即使结果是实数

(1,1) double

std::complex<double>

如果结果为实数,则复杂双向量
存储在 MATLAB 数据数组中

(1,:) double

matlab::data::Array

如果结果包含 DOUBLECOMPLEX_DOUBLE
matlab::data::ArrayType

实数单精度标量

(1,1) single {mustBeReal}

float

实数单精度向量

(1,:) single {mustBeReal}

std::vector<float>

复数单标量

(1,1) single

std::complex<float>

复杂单向量

(1,:) single

matlab::data::Array

如果结果包含 SINGLECOMPLEX_SINGLE
matlab::data::ArrayType

实数整数标量

(1,1) int8 {mustBeReal}

(1,1) int16 {mustBeReal}

(1,1) int32 {mustBeReal}

(1,1) int64 {mustBeReal}

(1,1) uint8 {mustBeReal}

(1,1) uint16 {mustBeReal}

(1,1) uint32 {mustBeReal}

(1,1) uint64 {mustBeReal}

int8_t

int16_t

int32_t

int64_t

uint8_t

uint16_t

uint32_t

uint64_t

实数整数向量

(1,:) int8 {mustBeReal}

(1,:) int16 {mustBeReal}

(1,:) int32 {mustBeReal}

(1,:) int64 {mustBeReal}

(1,:) uint8 {mustBeReal}

(1,:) uint16 {mustBeReal}

(1,:) uint32 {mustBeReal}

(1,:) uint64 {mustBeReal}

std::vector<int8_t>

std::vector<int16_t>

std::vector<int32_t>

std::vector<int64_t>

std::vector<uint8_t>

std::vector<uint16_t>

std::vector<uint32_t>

std::vector<uint64_t>

复数整数标量

(1,1) int8

(1,1) int16

(1,1) int32

(1,1) int64

(1,1) uint8

(1,1) uint16

(1,1) uint32

(1,1) uint64

std::complex<int8_t>

std::complex<int16_t>

std::complex<int32_t>

std::complex<int64_t>

std::complex<uint8_t>

std::complex<uint16_t>

std::complex<uint32_t>

std::complex<uint64_t>

复数整数向量

(1,:) int8

(1,:) int16

(1,:) int32

(1,:) int64

(1,:) uint8

(1,:) uint16

(1,:) uint32

(1,:) uint64

matlab::data::Array

如果结果包含 INT8COMPLEX_INT8INT16COMPLEX_INT16INT32COMPLEX_INT32INT64COMPLEX_INT64UINT8COMPLEX_UINT8UINT16COMPLEX_UINT16UINT32COMPLEX_UINT32UINT64COMPLEX_UINT64
matlab::data::ArrayType

逻辑标量

(1,1) logical

bool

逻辑向量

(1,:) logical

std::vector<bool>

字符标量

(1,1) char

char16_t

字符向量

(1,:) char

std::u16string

字符串

(1,1) string

std::u16string

字符串向量

(1,:) string

std::vector<std::u16string>

枚举标量

(1,1) MyEnumClass

范围枚举

枚举向量

(1,:) MyEnumClass

限定范围的枚举的 std::vector

MATLAB 元胞标量

(1,1) cell

matlab::data::Array(包含 CELL matlab::data::ArrayType

MATLAB 元胞向量

(1,:) cell

matlab::data::Array(包含 CELL matlab::data::ArrayType

MATLAB 结构体

(1,1) struct

matlab::data::Array(包含 STRUCT matlab::data::ArrayType

MATLAB 结构体

(1,:) struct

matlab::data::Array(包含 STRUCT matlab::data::ArrayType

MATLAB 类型不是受支持的 C++ 类型 

matlab::data::Array

另请参阅

|

主题