<i id='xaMUX'><tr id='xaMUX'><dt id='xaMUX'><q id='xaMUX'><span id='xaMUX'><b id='xaMUX'><form id='xaMUX'><ins id='xaMUX'></ins><ul id='xaMUX'></ul><sub id='xaMUX'></sub></form><legend id='xaMUX'></legend><bdo id='xaMUX'><pre id='xaMUX'><center id='xaMUX'></center></pre></bdo></b><th id='xaMUX'></th></span></q></dt></tr></i><div id='xaMUX'><tfoot id='xaMUX'></tfoot><dl id='xaMUX'><fieldset id='xaMUX'></fieldset></dl></div>
    • <bdo id='xaMUX'></bdo><ul id='xaMUX'></ul>
  • <legend id='xaMUX'><style id='xaMUX'><dir id='xaMUX'><q id='xaMUX'></q></dir></style></legend>

        <tfoot id='xaMUX'></tfoot>

        <small id='xaMUX'></small><noframes id='xaMUX'>

      1. 分配向量时,它们使用堆上的内存还是堆栈上的

        时间:2023-09-15
        <legend id='OixYw'><style id='OixYw'><dir id='OixYw'><q id='OixYw'></q></dir></style></legend>
          • <bdo id='OixYw'></bdo><ul id='OixYw'></ul>

            <tfoot id='OixYw'></tfoot>

            <small id='OixYw'></small><noframes id='OixYw'>

                  <tbody id='OixYw'></tbody>
                <i id='OixYw'><tr id='OixYw'><dt id='OixYw'><q id='OixYw'><span id='OixYw'><b id='OixYw'><form id='OixYw'><ins id='OixYw'></ins><ul id='OixYw'></ul><sub id='OixYw'></sub></form><legend id='OixYw'></legend><bdo id='OixYw'><pre id='OixYw'><center id='OixYw'></center></pre></bdo></b><th id='OixYw'></th></span></q></dt></tr></i><div id='OixYw'><tfoot id='OixYw'></tfoot><dl id='OixYw'><fieldset id='OixYw'></fieldset></dl></div>
                1. 本文介绍了分配向量时,它们使用堆上的内存还是堆栈上的内存?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  以下所有说法都是正确的吗?

                  Are all of the following statements true?

                  vector<Type> vect; //allocates vect on stack and each of the Type (using std::allocator) also will be on the stack
                  
                  vector<Type> *vect = new vector<Type>; //allocates vect on heap and each of the Type will be allocated on stack
                  
                  vector<Type*> vect; //vect will be on stack and Type* will be on heap. 
                  

                  如何在 vector 或任何其他 STL 容器中为 Type 内部分配内存?

                  How is the memory allocated internally for Type in a vector or any other STL container?

                  推荐答案

                  vector<Type> vect;
                  

                  将在堆栈上分配vector,即头信息,但在空闲存储(堆")上分配元素.

                  will allocate the vector, i.e. the header info, on the stack, but the elements on the free store ("heap").

                  vector<Type> *vect = new vector<Type>;
                  

                  分配免费商店中的所有内容.

                  allocates everything on the free store.

                  vector<Type*> vect;
                  

                  将在堆栈上分配 vector 并在空闲存储上分配一堆指针,但是这些点的位置取决于您如何使用它们(您可以将元素 0 指向空闲存储和元素1 到堆栈,比如说).

                  will allocate the vector on the stack and a bunch of pointers on the free store, but where these point is determined by how you use them (you could point element 0 to the free store and element 1 to the stack, say).

                  这篇关于分配向量时,它们使用堆上的内存还是堆栈上的内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:C++11 和 Boost.Container 下 vector::resize(size_type n) 的这 下一篇:向量擦除迭代器

                  相关文章

                  最新文章

                  • <bdo id='Wd4cN'></bdo><ul id='Wd4cN'></ul>

                2. <small id='Wd4cN'></small><noframes id='Wd4cN'>

                3. <tfoot id='Wd4cN'></tfoot>
                  <legend id='Wd4cN'><style id='Wd4cN'><dir id='Wd4cN'><q id='Wd4cN'></q></dir></style></legend>
                      <i id='Wd4cN'><tr id='Wd4cN'><dt id='Wd4cN'><q id='Wd4cN'><span id='Wd4cN'><b id='Wd4cN'><form id='Wd4cN'><ins id='Wd4cN'></ins><ul id='Wd4cN'></ul><sub id='Wd4cN'></sub></form><legend id='Wd4cN'></legend><bdo id='Wd4cN'><pre id='Wd4cN'><center id='Wd4cN'></center></pre></bdo></b><th id='Wd4cN'></th></span></q></dt></tr></i><div id='Wd4cN'><tfoot id='Wd4cN'></tfoot><dl id='Wd4cN'><fieldset id='Wd4cN'></fieldset></dl></div>