Cài đặt class IntArray quản lý một con trỏ int* arr với kích thước n. Cung cấp đầy đủ rule of 5: constructor IntArray(size_t), destructor, copy constructor (deep copy), copy assignment (deep copy với self-check), move constructor (chuyển sở hữu), move assignment. Thêm phương thức set(i,v), get(i), size(). Đọc m thao tác: "C n" tạo IntArray a(n); "S i v" gán a[i]=v; "P i" in a[i]; "K" copy auto b = a (deep copy) rồi đổi b[0] = 999 và in a[0], b[0] để chứng minh deep copy. Trong main giả định tồn tại biến a được khởi tạo bởi lệnh C đầu tiên.
Dòng 1: m. M dòng tiếp theo: lệnh như mô tả. Lệnh C đảm bảo chỉ xuất hiện ở dòng đầu tiên.
1 <= m <= 1000 1 <= n <= 1000 0 <= i < n -10^9 <= v <= 10^9
Theo từng lệnh P/K.
Ví dụ:
Đầu vào:
5
C 3
S 0 1
S 1 2
P 0
K
Đầu ra:
1
1 999
Giải thích:
Đang tải editor...