您如何使用成员正确初始化构造的结构,该构件是指向const值的const指针
How do you correctly initialize a struct with a member that is a const pointer to a const value?
当前我正在做这样的事情:
struct foo
{
const int
*const a,
*const b,
*const c;
foo(int a, int b, int c)
: a(_a), b(_b), c(_c)
{
*_a = a;
*_b = b;
*_c = c;
}
private:
int _a[1], _b[1], _c[1];
};
但是有没有办法在不放入第二组指针(_a, _b, _c
)?
但是有没有办法在不放入第二组指针(
_a
,_b
,_c
)的情况下做到这一点?
当然。您可以使用:
foo(int a, int b, int c)
: a(new int(a)), b(new int(b)), c(new int(c)) {}
请记住三个规则,并适当地为foo
。