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

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

    1. <tfoot id='yybtn'></tfoot>

        <bdo id='yybtn'></bdo><ul id='yybtn'></ul>

      空向量的开销成本是多少?

      时间:2023-09-15

          <tbody id='tMhCi'></tbody>
      • <tfoot id='tMhCi'></tfoot>

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

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

                <legend id='tMhCi'><style id='tMhCi'><dir id='tMhCi'><q id='tMhCi'></q></dir></style></legend>
              • 本文介绍了空向量的开销成本是多少?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                拥有一个空向量与拥有一个指向向量的指针的内存开销是多少?

                What is the memory overhead of having an empty vector vs having a pointer to a vector?

                选项 A:

                std::vector<int> v;
                

                选项 B:

                std::vector<int> *v = NULL;
                

                我相信选项 B 需要 1 个 32 位指针(假设这里是 32 位)空的v"占用多少内存?

                I believe that option B takes 1 32 bit pointer (assuming 32 bit here) How much memory does the empty 'v' take up?

                推荐答案

                至于问的问题:看实现.使用 MSVC 7.1:

                As for the question as asked: It depends on the implementation. With MSVC 7.1 this:

                std:: cout << sizeof(std::vector<int>) << std::endl;
                

                给我 16(字节).(3个指针:容量的开始、结束和结束,加上一个分配器)

                gives me 16 (bytes). (3 pointers: begin, end, and end of capacity, plus an allocator)

                然而应该注意的是,指向向量的指针给了它更大的开销:

                However it should be noted that the pointer-to-vector gives it a larger overhead:

                • 非空情况下的时间和空间
                • 在所有情况下都很复杂.

                这篇关于空向量的开销成本是多少?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:单个向量中不同类别的对象? 下一篇:为什么 std::accumulate 函数会显示向量的错误总和

                相关文章

                最新文章

              • <small id='gxQey'></small><noframes id='gxQey'>

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