Dev*_*wal 3 c++ arrays stl initialization
我们可以使用fill_n函数用值初始化1D数组.
int table[20];
fill_n(table, 20, 100);
Run Code Online (Sandbox Code Playgroud)
但是我们如何用相同的值初始化2D数组.
int table[20][20];
fill_n(table, sizeof(table), 100); //this gives error
Run Code Online (Sandbox Code Playgroud)
您可以使用指向第一个元素的指针和指向最后一个元素的指针:
int table[20][20];
int* begin = &table[0][0];
size_t size = sizeof(table) / sizeof(table[0][0]);
fill(begin, begin + size, 100);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
667 次 |
| 最近记录: |