c++里可以在结构体内定义函数,用法和class定义类是一样的,说穿了struct 和 class用法相同,但要注意的一点是,struct默认的是public类型,而class默认的是private类型的
例如:
struct matrix_3x3
{
float matrix[9];
static matrix_3x3 create_from_rows(vector_3 row_0, vector_3 row_1, vector_3 row_2);
static matrix_3x3 create_look_at(vector_3 target, vector_3 up);
static matrix_3x3 create_inverse(matrix_3x3 original);
static matrix_3x3 transpose(matrix_3x3 original);
void set_to_identity();
};
则在结构体matrix_3x3中声明的5个函数都是public型,前四个返回值类型是matrix_3x3型的结构体,而机构体中只有matrix[9]是变量,所以返回值是float型的数组指针。