| inline関数,static変数 |
|
■inline
・inline関数とは、宣言時に実行処理を記述する為、ファイル自体は大きくなりますが、
関数の呼び出し処理がなくなるため、処理は早くなります。
・クラス外に定義する場合でも、"inline"キーワードを定義することで、inline関数になります。
【inline関数】
// inline関数
class A {
pravate:
int a,b;
public:
// コンストラクタ
A() {
printf("コンストラクタ呼び出し\n");
}
// インライン関数
int func(){
return a + b;
}
};
|
または、
// inline関数
class A {
pravate:
int a,b;
public:
// コンストラクタ
A() {
printf("コンストラクタ呼び出し\n");
}
// インライン関数
int func();
};
// インライン関数
inline int func(){
return a + b;
}
|
■static
・"static"定義は静的変数と言われ、関数やクラスなどそのブロックが終了しても、
メモリ上に値が保持される変数のことを言います。
・静的変数の初期化は宣言と同時にはできません。必ずクラス外で定義して下さい。
・静的変数の初期値は"0"で保障されています。
// static変数
class A{
public:
static int stat_i; //J スタティック変数宣言
};
//J スタティック変数定義(初期化)
int A::stat_i = 100;
void main(){
A ob_a,ob_b;
@ printf("ob_a.stat_i = %d\n",ob_a.stat_i);
ob_a.stat_i=200;
A printf("ob_a.stat_i = %d\n",ob_a.stat_i);
B printf("ob_b.stat_i = %d\n",ob_b.stat_i);
ob_b.stat_i=300;
C printf("ob_b.stat_i = %d\n",ob_b.stat_i);
}
|
@"ob_a.stat_i = 100"と表示されます。
A"ob_a.stat_i = 200"と表示されます。
B"ob_b.stat_i = 200"と表示されます。
C"ob_b.stat_i = 300"と表示されます。
|
|
| |

A8ネット
・人気度:★★★★★
・言わずと知れた人気ASP
 |
| |
楽天市場

・人気度:★★★★★
・誰でも安心、楽天市場で
タワーレコード
・人気度:★★★★☆
・CD/DVDならタワレコで
|
|