c++ 里面struct可以new么?还是可以直接一起赋值?在类里面如何赋值?
定义了一个structtypedeffloatvertex3f[3];在一个类里面应用这个structA{constvertex3fposition;inty;}如何初始...
定义了一个struct
typedef float vertex3f[3];
在一个类里面应用这个struct
A{
const vertex3f position;
int y;
}
如何初始化这个类
例如:
A::A()
:position({minrand*width, height+size.0,0.0}),y(0)
{
....
}
计算机老报 position哪一行有错
顺便问一下:
c++ 里面struct可以new么?还是可以直接一起赋值?在类里面如何赋值? 展开
typedef float vertex3f[3];
在一个类里面应用这个struct
A{
const vertex3f position;
int y;
}
如何初始化这个类
例如:
A::A()
:position({minrand*width, height+size.0,0.0}),y(0)
{
....
}
计算机老报 position哪一行有错
顺便问一下:
c++ 里面struct可以new么?还是可以直接一起赋值?在类里面如何赋值? 展开
展开全部
结构体可以NEW,如果是NEW出来的,分配的空间在堆里面,需要你手动释放,否则在分配的内存栈里面,离开作用域就自动回收了。
结构体赋值,应该用memcpy,并且有可能需要深拷贝。
A{
A();
~A();
vertex3f *position;
int y;
}
A::A()
{
position =NEW vertex3f ();
}
A::~A()
{
if(position )
delete position ;
}
结构体赋值,应该用memcpy,并且有可能需要深拷贝。
A{
A();
~A();
vertex3f *position;
int y;
}
A::A()
{
position =NEW vertex3f ();
}
A::~A()
{
if(position )
delete position ;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个结构体使用不用那么复杂,想用的话先建个对象,如:
A aExample;
然后赋值就这样:
aExample.position = XXXXXXX;
aExample.y=XXXXXX;
结构体定义完了拿来用就行,不用初始化,用的时候必须自己定义一个对象。而不是用结构体本身
A aExample;
然后赋值就这样:
aExample.position = XXXXXXX;
aExample.y=XXXXXX;
结构体定义完了拿来用就行,不用初始化,用的时候必须自己定义一个对象。而不是用结构体本身
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
初始化类的const 数组 成员
const float f[3]={1.0f, 2.0f, 3.0f};//用来初始化的数组
class a{
private:
const float * const position; //定义成指针
int y;
public:
a(void);
};
a::a(void) : position(f),y(0)//初始化列表中用f初始化position
{
;
}
const float f[3]={1.0f, 2.0f, 3.0f};//用来初始化的数组
class a{
private:
const float * const position; //定义成指针
int y;
public:
a(void);
};
a::a(void) : position(f),y(0)//初始化列表中用f初始化position
{
;
}
参考资料: 原创
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询