【初心者歓迎】C/C++室 Ver.20【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0117デフォルトの名無しさん
2005/07/28(木) 09:54:18newだと最上位の要素数以外はコンパイル時に決まっている必要がある。
で、どうするかというと、
int n = 8;
int *p = new[5 * n];
としてp[y * n + x]などと手動で指定したり、std::vector<std::vector<> >やboost::multi_arrayを使ったりする。
operator newの返り値がvoid *なのは、まだただのメモリの塊に過ぎないから。
そこへコンパイラがコンストラクタを動かして初めて何らかの型へのポインタになる。
(たとえintなどの組み込み型でも概念としてはそうなる)
■ このスレッドは過去ログ倉庫に格納されています