【初心者歓迎】C/C++室 Ver.10【環境依存OK】

このエントリーをはてなブックマークに追加
624デフォルトの名無しさん
>>622
メンバ変数である配列は初期化できない。
但し、ローカルな配列は初期化できるのでこういうことはできる。
class A {
// 厳密に言えばポインタを返す
const int * a() {
static const int b[] = {4, 5, 6,};
return b;
}
typedef int ta[3];
// こちらは配列への参照を返す
const ta & aa() {
static const int b[] = {4, 5, 6,};
return b;
}
};
625デフォルトの名無しさん:04/10/25 10:51:49
利用例書くの忘れたよ。
class A {
public:
void print() {std::cout << a()[1] << ' ' << aa()[2] << std::endl;}
};
但し、最適化してもconst intと違って実体があることに注意。