首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C++:数组的构造函数初始化器

C++:数组的构造函数初始化器
EN

Stack Overflow用户
提问于 2010-03-09 22:43:34
回答 14查看 147K关注 0票数 71

我的大脑抽筋了..。如何在C++中正确初始化对象数组?

非数组示例:

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

struct Bar { 
     Foo foo;

     Bar() : foo(4) {}
};

数组示例:

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) {}
};

编辑:我很欣赏狂野和疯狂的变通方法,但它们对我的情况没有帮助。我在一个嵌入式处理器上工作,其中std::vector和其他STL构造不可用,明显的解决办法是创建一个默认构造函数,并具有一个显式的init()方法,可以在构造时间之后调用,这样我就不需要使用初始化器了。(这是我被Java的final关键字+构造函数的灵活性弄坏的一种情况。)

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2409819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档