假设我有一个结构
struct s
{
std::deque<Object> q; //won't work with C library
}
如果使用 C 库初始化带有 std::deque 的结构,那么它将不起作用。
struct s
{
std::vector<Object> v; //would work with C library
}
但是,这种带有 std::vector 的结构将适用于 C 库。我认为这是因为 deque 中的元素不连续,而 vector 中的元素是连续的。我认为这可能是一个原因,但不确定。