Zai*_*zvi 2 c++ arrays pointers memory-mapping
CreateFileMapping函数返回一个指向内存映射文件的指针,我想将该内存映射视为一个数组.
这是我基本上想做的事情:
char Array[] = (char*) CreateFileMapping(...);
Run Code Online (Sandbox Code Playgroud)
除了显然我不能简单地挥动手臂并声明指针现在是一个数组.
你们有什么想法我能做到这一点吗?我不想将指针指向的值复制到数组中,因为这会对大文件使用太多内存.
谢谢一堆,
Pav*_*aev 22
你不需要.您可以将指针索引为数组:
char* p = (char*)CreateFileMapping(...);
p[123] = 'x';
...
Run Code Online (Sandbox Code Playgroud)
在C/C++中,指针和数组不是一回事.
但在你的情况下,为了你的目的,他们是.
你有一个指针.
你可以给它一个下标.
例如,一个char*指针指向"你好"的开头
指针[0]是第一个字符'h'
指针[1]是第二个字符'e'
所以只要在考虑数组时就对待它.