1.6 Hằng sô
Thursday, September 21, 2017 6:59 PM
Được cắt từ:
Trong bài học trước, chúng ta đã biết cách sử dụng Starndard Tnput
trong C++ để nhập giá trị từ bàn phím và đưa vào vùng nhớ mà tên biến đang quản lý Mỗi lần sử dụng đối tượng cin để nhập dữ liệu vào biến, giá
trị trong vùng nhớ của biến đó sẽ bị thay đổi 1 lần Đối với một số biến có cách khai báo thông thường, compiler cho phép ta thực hiện thay đổi giá trị của biến không giới hạn số lần
Ví dụ:
i= (Global Scope)
Trong đoạn chương trình trên, biến myVar được khởi tạo giả trị ban đầu
là 1 Và mình đã sử dụng 2 lần đối tượng cin để nhập giá trị mới cho biến
Trang 2D:\C++ Tutorial\Projects\Bai1.6\Debug\Bail.6.exe = = ma Default value: l1 hange value of myVar C13: 123 ew value: hange value of myVar C23: 456 ew value: 456 Press any key to continue
Trong một số bài toán, giá trị của biến cần được thay đổi nhiều lần Bên cạnh đó, có một số giá trị chúng ta muốn khởi tạo một lần và giữ nguyên gia trị đó trong suốt thời gian chương trình hoạt động Vi du:
PI = 3.14;
gravity_on_earth = 9.8;
Những giá trị này được gọi là hằng số
Việc định nghĩa một biến trong C++ như một hằng số sẽ giúp bạn đảm
bảo giá trị của biến đó không bị thay đổi ngoài y muon
Để khiến một biến trong C++ trở thành một hằng số, bạn chỉ cần đặt tử
khóa const trước hoặc sau kiểu dữ liệu của biến Ví dụ: const float gravity = 9.8;
int const my_constant = 123;
Lưu ý: Bạn phải khởi tạo giá trị cho biến hằng số mỗi khi định nghĩa chúng
Trang 3bq Bail.6 - Microsoft V
FILE EDIT Vv IEW PROJECT BUILD DEBUG TEAM TOOLS TEST ANALYZE WINDOW HELP
- i] a | ni > Local Windows Debugger ~x Auto - Debug ~ Win32 Solution Explorer v 4 X~ main.cpp
AEA c eat-in cE) ''- [Rl Bai.6 - (Global Scope)
===ke=dLi=c<e=seeiLiEEss ratdaisall ie đĐ yi using namespace std;
l4 Solution 'Bai1.6' (1 project) Ẹ 4 | Bail.6 b = External Dependencies aloe Files mm Resource Files 4 Source Files > ++ main.cpp
Show output from: Build =: Build started: Project: Bail.6, Configuration: Debug Win32 1> main.cpp
1>d:\c++ tutorial\projects\bail.6\bail.6\main.cpp(6): error C2734: 'my_constant' : const object must be initialized if not extern Build: @ succeeded, 1 failed, @ up-to-date,“W Skipped
Các bạn có thể dùng giá trị của một biến không phải là hằng số để khởi
tạo giá trị cho một biến hằng số
int non_const_variable = 10;
const int const_variable = non_const_variable;
Một khi từ khóa const đã được sử dụng cho một biến, mọi hành vi khiến giá trị biến đó bị thay đổi đều bị compiler báo lỗi Ngoài ra, bạn có thể sử
dụng biến hằng số để tính toán, in giá trị của biến hằng số ra màn hình, sử dụng như một biến thông thường
t%l Bai1.6 (Global Scope)
Như minh đã nói ở trên:
Một biến hằng số phải được khởi tạo giá trị sau khi định nghĩa
Việc khởi tạo giá trị có thể được viết bằng nhiều cách khác nhau Ví dụ
mình có biến year_of_birth có kiểu int, mình có thể khởi tạo biến này
như sau:
Trang 4int year_of_birth(1992); int year_of_birth { 1992 };
Nhưng theo ý kiến cá nhân của mình, sử dụng toán tử bằng "=" để khởi
tạo giá trị khiến chương trình dễ hiểu hơn Tổng kết