こういうことですか?
C++
1std::vector<std::vector<ushort>> a(n, std::vector<ushort>(m));
ushort** を一つの要素がunshort[n]なvectorに変換
nはint
n
はm
のタイプミスだと思いますが、m
が定数でないとstd::vector<unshort[m]>
は作れません。
m
が定数なら
C++
1#include<vector>
2#include<iostream>
3#define ushort unsigned short
4
5int main() {
6 int n = 3;
7 int x = 2;
8 const int m = 4;
9
10 ushort** a;
11 a = new ushort * [n];//nはint
12 for (int i = 0; i < x; i++) {
13 a[i] = new ushort[m];
14
15 // ダミーデータ格納
16 for (int j = 0; j < m; j++)
17 {
18 a[i][j] = i * m + j;
19 }
20 }
21
22 // コピー
23 std::vector<ushort[m]> b(x);
24 for (int i = 0; i < x; i++) {
25 std::copy(a[i], a[i] + m, b[i]);
26 }
27
28 // 確認
29 for (int i = 0; i < x; i++) {
30 std::cout << "b[" << i << "]:";
31 for (int j = 0; j < m; j++)
32 {
33 std::cout << b[i][j] << " ";
34 }
35 std::cout << std::endl;
36 }
37
38 return 0;
39}