Effective C++条項26解読:変数定義式の出現時間をできるだけ遅らせる

779 ワード

Scott MeyersマスターはEffective C++で、できるだけ変数式の出現時間を遅らせると述べた.私はこの観点を認めています.
誰もが自分の習慣を持っていて、このようなコードを見るたびに、私は気分が悪くなります.
#include <iostream>
using namespace std;

int main()
{
	int a, b, c, d, e, f, g;

	// ......

	a = 1;
	b = 2;
	c = 3;

	return 0;
}
コードが複雑になると、a=1が表示されます.の時、また跳ね返してやっとaの定義を知って、メンテナンス性があまりにも悪いです.もちろん,古いC言語では変数の定義を関数の先頭に置かなければならないが,この規定は確かに醜い.実際、C++では、よく使われるときに再定義され、コードのメンテナンス性が強く、自然で、人の思考に合っています.
ある时、私がコードを书く时、a変数を使う时やっと定义して、结局人にまた関数の最初の地方に移动されて定义して、あなたは私が爽やかだと言いますか?ははは.
上記の論述は,コードの保守性の観点から「時間を用いて再定義する」という原則を説明しただけであり,Effective C++においても著者らは,効率の観点から「時間を用いて再定義する」ことを提案している.結局、オブジェクトなどの定義がそんなに早くなると、コンストラクション関数のコストに耐えられなくなります.そのため、主に「時間をかけて定義する」ことをお勧めします.
        1. 保守性があり、人間の論理と習慣に合っています.
        2. 能率.