I ++(プレフィックス式インクリメント)と効率比〜C / C ++プログラムの基礎(C)との差の++ I(後置インクリメント)

ケースを説明します

#include<iostream>
#include <stdio.h>

int main()
{
	int i = 10;
	printf("%d\n", ++i);
	printf("-----------------\n");

	i = 10;
	printf("%d\n", --i);
	printf("-----------------\n");

	i = 10;
	printf("%d\n", i++);
	printf("-----------------\n");

	i = 10;
	printf("%d\n", i--);
	printf("-----------------\n");

	i = 10;
	printf("%d\n", -i++);
	printf("-----------------\n");

	i = 10;
	printf("%d\n", -i++);
	printf("-----------------\n");

	system("pause");
	return 0;
}

結果: 

プレガガ(又はマイナスマイナス)は、自己の増加(減少)操作を完了するために最初である限り、次のステップ(として分析した後、この問題は、非常に単純であるprintfのプリントこのケース内部に次のステップであります);長いポストはジャーク(保存または保存)されると、次のステップは、次に自己増加(減少)動作、完了することである。その正面を待たずに次のステップ及びリア同じで!

だから、ここで再び、高い++ iとI ++効率的にその問題を考えますか?

算術式の結果の増加は、使用しない場合、上記の例で見られる、その数を増加させるための2つだけの簡単な操作であってもよいし、次いで効果の接頭辞と接尾辞の方法は、同じ方法であり、その後検討オペレーションは、共通int型であるか、または組み込み一般にデータ型場合慎重に、オブジェクトのデータ・タイプは、その効率は完全に悪いわけではありません。

しかし、私の実行場合++、私は(私は事のようなものだった場合は特に)で定義されたデータは、それを自分で入力しているのですか?プレフィックス式(++ I)(iは++)オブジェクトへの参照、およびポストフィックスを返すためにオブジェクトの値を返す必要があり、それが減少し、効率を引き起こし、より大きな複製オーバヘッドを有することになる、リターンプレフィックススタイル参照で、したがって、その結果、確かに高効率もっと。したがって、定義された独立変数のタイプからのデータを処理するには、より効率的な式プレフィックスを使用するように!

追加:組み込みのデータ型は何ですか?:int型、ダブル、フロート、文字など:一般的のようなデフォルトのC ++データ型を指します。

経験

  • 接頭辞と接尾辞の差は、接頭辞が動作を実行するようにインクリメントされたときに他の操作と組み合わせて使用​​される場合、動作が連携して行うことであり、サフィックスはちょうど逆になります。
  • 式プレフィックスおよびポストフィックス効率の違い:1)組み込みデータ型、差がない効率のために、自己定義データ型の2)、式プレフィックスの高効率。
  • 接頭辞と接尾辞の効率は、本質的に区別:タイププレフィックスへの参照を返し、後置戻り値です。
公開された271元の記事 ウォンの賞賛8 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_17846375/article/details/104879088