我正在尝试在栈上创建一个固定大小的字符数组(必须是栈分配)。我遇到的问题是,我无法让堆栈为该数组分配超过8个字节:
#include <iostream>
using namespace std;
int main(){
char* str = new char[50];
cout << sizeof(str) << endl;
return 0;
}
打印
8
如何在栈上分配固定大小的数组(在本例中为50字节,但可以是任何数字)?
new
的作用与在堆栈上分配内存相反。你需要的是一个普通的数组。char str[50];
就可以满足你的需求。如果你使用的是 C++11,那么std::array<char, 50> str;
更好。 - chrissizeof()
究竟测量的是什么。它不是你想象中的那样。 - TheZ