|
ちょっとC++Builderに限らない話になりますが、C++では変数の定義は使用する直前に宣言するのが一般的です。
ですから、
関数1 () {
int a,b,c;
a = xxx;
if (a == 0) return;
何だかんだの処理
b = xxx;
c = xxx;
}
のような書き方ではなく、
関数2 () {
int a;
a = xxxx;
if (a == 0) return;
何だかんだの処理
int b;
b = xxxxx;
int c = xxxxx;
}
のようになります。
C言語に慣れた人程、"関数1"のような書き方になってしまうかもしれませんが、必要なメモリを必要な時に確保する"関数2"のような書き方をした方が、効率がよくなります。
古い慣習よ、さようならといった所でしょうか。
実際には、不要なオブジェクトの構築と破壊(使用しない変数に関して)を防ぐだけでなく、デフォルトコンストラクタによる不適切な構築も防ぐ事が出来ます。
また、使う直前に宣言するのであれば、コメントも最低限でいいし、見通しもよくなるのはいうまでもないですね。
|