Computer >> Máy Tính >  >> Lập trình >> C ++

Có sự khác biệt về hiệu suất giữa i ++ và ++ i trong C ++ không?

Có sự khác biệt lớn giữa các phiên bản hậu tố và tiền tố của ++.

  • Trong phiên bản tiền tố (tức là ++ i), giá trị của i được tăng dần và giá trị của biểu thức là giá trị mới của i. Vì vậy, về cơ bản, nó tăng đầu tiên sau đó gán một giá trị cho biểu thức.

  • Trong phiên bản hậu tố (tức là i ++), giá trị của i được tăng lên, nhưng giá trị của biểu thức là giá trị ban đầu của i. Vì vậy, về cơ bản, trước tiên nó chỉ định một giá trị cho biểu thức và sau đó tăng biến.

Hãy xem một số đoạn mã để hiểu rõ hơn.

Mã mẫu

#include<iostream>
using namespace std;
int main() {
   int x = 3, y, z;
   y = x++;
   z = ++x;
   cout << x << ", " << y << ", " << z;
   return 0;
}

Đầu ra

5, 3, 5

Hãy xem xét nó một cách chi tiết

  • Khởi tạo x thành 3

  • Gán cho y giá trị mà chúng ta nhận được bằng cách đánh giá biểu thức x ++, tức là giá trị của x trước khi tăng sau đó tăng x.

  • Số tăng x sau đó gán cho z giá trị mà chúng ta nhận được bằng cách đánh giá biểu thức ++ x, tức là giá trị của x sau số tăng.

  • In các giá trị này