size_t 是整数类型,不需要强制转换.
在C++中,如果你想有一个动态调整大小数组,你需要使用动态分配使用new.也就是说,你不能使用:
std::size_t sz = 42;
char carray[sz];
Run Code Online (Sandbox Code Playgroud)
您需要使用以下代码:
std::size_t sz = 42;
char* carray = new char[sz];
// ... and later, when you are done with the array...
delete[] carray;
Run Code Online (Sandbox Code Playgroud)
或者,最好,你可以使用a std::vector(std::vector为你管理内存,所以你不需要记得明确地删除它,你不必担心手动动态分配带来的许多所有权问题):
std::size_t sz = 42;
std::vector<char> cvector(sz);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6981 次 |
| 最近记录: |