Yêu cầu mọi thông tin sao chép từ blog này phải được ghi rõ đầy đủ: Thông tin được sao chép từ "http://www.dangngochoangthanh.blogspot.com".

Cool wallpaper http://www.fancymessage.com

EMOJI KEYBOARD PRO http://emojiselector.com

THƯ VIỆN HÌNH ĐỘNG FLASH ANIMATION: http://flashanimationlibrary.blogspot.ru/

Hệ thống học trực tuyến đang được phát triển và sẽ đưa vào sử dụng vào cuối năm nay. Hãy xem qua một số demo của Học Trực Tuyến.


HỌC TRỰC TUYẾN ĐÃ CUNG CẤP PHIÊN BẢN TRUY CẬP QUA MOBILE http://dangngochoangthanh.blogspot.com/?m=1

XEM KÊNH HỌC TRỰC TUYẾN TRÊN YOUTUBE



Search on This Blog

Saturday, September 11, 2010

Từ khóa namespace

Nhờ vào namespace, ta có thể nhóm các thực thể như lớp, đối tượng và các hàm dưới một tên gọi tương ứng với từ khóa namespace. Theo cách này, các phạm vi toàn cục lại được chia nhỏ ra thành các phạm vi toàn cục con, mà mỗi một phạm vi toàn cục con này có một tên gọi riêng.
Để khai báo namespace, ta sử dụng từ khóa namespace theo cú pháp sau
namespace tên_của_namespace {
các_thực_thể
}
Để truy cập đến các thực thể của namespace, ta sử dụng toán tử phạm vi ::

Ví dụ Kết quả
#include using namespace std;
namespace first
{
int var = 5;
}
namespace second
{
double var = 3.14;
}
int main()
{
cout<<
cout<<
return 0;
}
5 3.14
Như bạn thấy, trong ví dụ này có hai biến toàn cục là var (bạn lưu ý, hai biến var này đều là biến toàn cục vì phạm vi hoạt động của nó là toàn bộ chương trình). Dù là trùng tên, nhưng do chúng thuộc vào các namespace khác nhau, nên khai báo này là hợp lệ.

Từ khóa using

Từ khóa using được sử dụng để đưa một tên gọi từ namespace sang vùng khai báo hiện tại. Khi sử dụng using tên_namespace, chúng ta không cần sử dụng tên_namespace khi gọi đến thực thể của nó.
Ví dụ Kết quả
#include using namespace std;
namespace first
{
int x = 5;
int y = 5;
}
namespace second
{
double x = 1.60;
double y = 3.14;
}
int main()
{
using namespace first;
cout<<
cout<<
return 0;
}
5 5
Trong trường hợp này, khi sử dụng namespace first, chúng ta có thể sử dụng các biến trong namespace của nó mà không cần gọi đến tên của namespace. Nhưng bạn cũng lưu ý rằng, nếu bạn using cả hai namespace thì trong trường hợp này, bạn không thể truy cập đến các biến x và y theo cách này (vì chúng trùng tên), mà chỉ có thể truy cập theo cách sử dụng toán tử phạm vi ::
Bạn cũng có thể sử dụng từ khóa using như sau
Ví dụ Kết quả
#include using namespace std;
namespace first
{
int x = 5;
int y = 5;
}
namespace second
{
double x = 1.60;
double y = 3.14;
}
int main()
{
using first::x;
using second::y;
cout<<
cout<<
return 0;
}
5 3.14

Phạm vi của namespace

Một namespace được khai báo sử dụng bằng từ khóa using chỉ có tác dụng trong phạm vi mà nó được khai báo. Điều đó có nghĩa là nếu bạn using namespace tên_namespace, thì nó chỉ có tác dụng trong khối lệnh mà bạn khai báo.
Ví dụ Kết quả
#include using namespace std;
namespace first
{
int x = 5;
int y = 5;
}
namespace second
{
double x = 1.60;
double y = 3.14;
}
int main()
{
{
using namespace first;
cout<<
cout<<
}
{
using namespace second;
cout<<
cout<<
}
return 0;
}
5 5
1.6
3.14

Biệt danh cho namespace

Nếu bạn muốn khai báo một tên mới cho namespace đã tồn tại, bạn hãy sử dụng định dạng
namespace tên_mới_của_namespace = tên_đã_khai_báo_của_name_space.

Namespace std

Tất cả các tệp trong thư viện chuẩn của C++ đều được khai báo như là thực thể của namespace std. Điều đó giải thích tại sao khi bạn viết một chương trình trong C++ thì bạn phải sử dụng khai báo using namespace std.

No comments:

Post a Comment