728x90
반응형
이 클래스(DynamicQStringArray
)는 QString
타입을 요소로 하는 2차원 배열을 동적으로 관리하는 기능을 제공합니다.
j2::TwoDimensions
: 해당 클래스가 포함된 네임스페이스로, 클래스의 범위를 지정합니다.
-
멤버 변수
QVector<QVector<QString>> array
: 2차원 배열을 저장하는QVector
컨테이너.
-
생성자 및 소멸자
- 별도로 정의되지 않았으나,
QVector
의 기본 동작에 따라 초기화됩니다.
- 별도로 정의되지 않았으나,
-
멤버 함수
-
resize(int rows, int cols)
배열의 행(row)과 열(column)의 크기를 조정합니다.array.resize(rows); for (int i = 0; i < rows; ++i) { array[i].resize(cols); }
-
setValue(int row, int col, const QString& value)
특정 위치에 값을 설정합니다.- 유효하지 않은 인덱스에 접근하면 경고 메시지를 출력합니다.
-
getValue(int row, int col) const
특정 위치의 값을 반환합니다.- 유효하지 않은 인덱스에 접근 시, 경고를 출력하고 빈
QString
을 반환합니다.
- 유효하지 않은 인덱스에 접근 시, 경고를 출력하고 빈
-
printArray() const
배열의 모든 값을 출력합니다.- 비어 있는 값은 공백 문자열로 표시됩니다.
qDebug() << "Value at (" << i << "," << j << "):" << (value.isEmpty() ? "" : value);
-
- 동적 크기 조정:
resize()
함수로 배열의 크기를 유연하게 조정할 수 있습니다. - 안전한 접근: 범위를 벗어나는 접근에 대해 경고를 출력합니다.
- 디버깅 지원:
qDebug()
를 사용해 배열의 값을 출력하여 디버깅을 도와줍니다.
이 클래스를 사용하면 2차원 배열을 다음과 같이 관리할 수 있습니다.
j2::TwoDimensions::DynamicQStringArray myArray;
myArray.resize(3, 3); // (3 rows x 3 cols) 문자열 배열 생성
myArray.setValue(0, 0, "Hello");
myArray.setValue(1, 1, "World");
qDebug() << myArray.getValue(0, 0); // "Hello"
qDebug() << myArray.getValue(1, 2); // "" // It is empty.
myArray.printArray();
728x90
반응형
'Qt' 카테고리의 다른 글
DynamicQVariantArray 클래스 : QVariant 2차원 동적 배열 (0) | 2025.01.31 |
---|---|
Qt AI Assistant 0.8.8 실험 버전 출시 (0) | 2025.01.24 |
qml_to_qul : QML에서 Qul로 변환 (0) | 2025.01.16 |
Qt Quick Ultralite와 Qt Quick의 차이점 (0) | 2025.01.15 |
Qt 자료 구조 QList와 QSet (0) | 2025.01.09 |