【发布时间】:2013-02-17 13:06:22
【问题描述】:
在 C(使用 gcc)中,我曾经有一些数据结构是一个包含一些额外信息的数组:
struct song {
uint tempo;
uint key;
note play[0]; // or play[] depending on compiler flavour
};
Iirc,被称为“灵活数组”(http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html#Zero-Length)
然后我可以在运行时用malloc(sizeof(song)+N*sizeof(note)) 分配一首包含 N 个音符的歌曲。
如果我这次不打算使用向量,也不打算在song 中引入无用的note* 指针,那么g++ 支持到什么程度?
【问题讨论】:
-
“也不要在歌曲中引入无用的音符*指针” - 你逗我。顺便说一句,
malloc是 C,new是 C++ -
@EdHeal:不正确。
malloc既是 C 又是 C++。 -
是的 - 我同意 - 但
malloc和new不应该混合恕我直言
标签: c++ arrays struct g++ flexible-array-member