Gtest给一个动态二维数组赋值
时间: 2024-02-01 22:03:07 浏览: 105
假设你已经定义了一个动态二维数组,可以使用循环来给它赋值。以下是一个示例代码:
```cpp
#include <gtest/gtest.h>
TEST(Dynamic2DArrayTest, AssignValues) {
const int ROWS = 3;
const int COLS = 4;
// Allocate memory for the 2D array
int** arr = new int*[ROWS];
for (int i = 0; i < ROWS; ++i) {
arr[i] = new int[COLS];
}
// Assign values to the 2D array
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
arr[i][j] = i * COLS + j;
}
}
// Verify the values of the 2D array
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
EXPECT_EQ(arr[i][j], i * COLS + j);
}
}
// Free the memory of the 2D array
for (int i = 0; i < ROWS; ++i) {
delete[] arr[i];
}
delete[] arr;
}
```
在这个示例中,我们首先定义了一个 3x4 的动态二维数组 `arr`,然后使用两个循环来遍历该数组,并通过简单的公式 `i * COLS + j` 给每个元素赋值。最后,我们使用循环释放该数组所占用的内存。注意,在实际开发中,你需要确保你的代码在所有情况下都能正常工作,包括动态分配内存失败的情况。
阅读全文