c++ - 如何分配100字节的内存

标签 c++

<分区>

我在面试中遇到了这个问题。我回答了

char *p = new char[100]; 

根据面试官的说法,这是错误的。

谁能告诉我正确的方法是什么,以及面试官的期望是什么?

最佳答案

你的回答是正确的。但是,它需要手动内存管理,因此容易出错。一种更符合 C++ 风格的方式是

std::vector<char> buffer(100);

或者实际上,如果数字 100 是编译时常量:

std::array<char, 100> buffer;
// or
char buffer[100];

最后,如果我们真的对底层内存管理感兴趣,还有另一种方式:

std::allocator<char> alloc;
char* buffer = alloc.allocate(100);

关于c++ - 如何分配100字节的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19540831/

相关文章:

c++ - 使用 winsock 发送 POST 数据(并使用 PHP 服务器端脚本接收它们)

c++ - symbian 中的 Helloworld

c++ - 如何从 C++ 将某些内存范围标记为不可缓存?

c++ - Qt : Display a picture during application loading

c++ - 临时对象销毁后为什么不崩溃

c++ - Boost Spirit Qi 验证输入解析器

c++ - Opencv 2.3 cvtColor 函数

c++ - 如何理解istream功能的指令?

c++ - 限制整数的 istream 读取宽度

c++ - token 粘贴和 __LINE__