相关疑难解决方法(0)

C++:数组的构造函数初始化程序

我有大脑痉挛...如何在C++中正确初始化一组对象?

非数组示例:

struct Foo { Foo(int x) { /* ... */  } };

struct Bar { 
     Foo foo;

     Bar() : foo(4) {}
};
Run Code Online (Sandbox Code Playgroud)

数组示例:

struct Foo { Foo(int x) { /* ... */  } };

struct Baz { 
     Foo foo[3];

     // ??? I know the following syntax is wrong, but what's correct?
     Baz() : foo[0](4), foo[1](5), foo[2](6) {}
};
Run Code Online (Sandbox Code Playgroud)

编辑:狂野和疯狂的解决方法的想法值得赞赏,但在我的情况下他们不会帮助我.我正在开发一个嵌入式处理器,其中std :: vector和其他STL结构不可用,显而易见的解决方法是创建一个默认构造函数并使用一个init()可以在构造时间之后调用的显式方法,这样我就不会根本不得不使用初始化器.(这是我被Java的final关键字+灵活性与构造函数所破坏的情况之一.)

c++ constructor initializer

64
推荐指数
4
解决办法
13万
查看次数

标签 统计

c++ ×1

constructor ×1

initializer ×1