小编Men*_*iev的帖子

std::vector 的元素是否单独存储在内存中?

问题 :

我尝试打印向量中元素的字节数和内存地址。结果,我看到了一个内存地址和多个字节。向量的元素是单独存储的吗?如果是这样,为什么我的代码显示向量只有 24 个字节?

我尝试过的:

#include <iostream>
#include <vector>

int main(){
    std::vector<const char *> colour = {"Microsoft", "Apple", "DELL", "Accer", "Lenovo", "hp"};
    std::cout << "VectorSize : " << sizeof(colour) << "\n" << std::endl;
    for(int i = 0; i < colour.size(); i++){
        std::cout << colour[i] << " is " << sizeof(colour[i]) << " byte at " << &colour[i] << "." << std::endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

结果 :

VectorSize : 24

Microsoft is 8 byte at 0x27b5a7c6220.
Apple is 8 byte at …
Run Code Online (Sandbox Code Playgroud)

c++ stdvector

3
推荐指数
1
解决办法
225
查看次数

标签 统计

c++ ×1

stdvector ×1