1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu hàm và thư viện lập trình phần 6 ppsx

5 443 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 160,39 KB

Nội dung

26 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Thử ví dụ hàm swap #include <iostream.h> void swap(int& a, int& b) { int temp = a; a = b; b = temp; } void main() { int x = 5, y = 10; swap(x,y); cout << "Now x is " << x << ", y is " << y; } 27 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Khi nào sử dụng truyền tham chiếu?  Chỉ trong C++  Khi cầnthay₫ổi"biến ₫ầuvào" (truynhậptrựctiếp vào ô nhớ, không qua bảnsao)  Mộtthambiếnthamchiếucóthể₫óng vai trò là ₫ầu ra (chứakếtquả), hoặccóthể vừalà₫ầuvàovà₫ầu ra  Khi kích cỡ kiểudữ liệulớn=> tránhsaochépdữ liệu vào ngănxếp, ví dụ: void copyData(const Student& sv1, Student& sv2) { sv2.birthday = sv1.birthday; } 28 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện 3.3.4 Kiểutrả về  Kiểutrả về: gầnnhư tùy ý, chỉ không thể trả về trực tiếpmộtmảng  Về nguyên tắc, có thể trả về kiểu: —Giátrị —Con trỏ —Thamchiếu  Tuy nhiên, cầnrấtthậntrọng vớitrả về₫ịachỉ hoặc tham chiếu: — Không bao giờ trả về con trỏ hoặc tham chiếu vào biếncục bộ — Không bao giờ trả về con trỏ hoặc tham chiếu vào tham biếntruyềnqua giátrị  Vớingườilập trình ít có kinh nghiệm: chỉ nên trả về kiểugiátrị 29 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Cơ chế trả về int SumInt(int a, int b) { int k = 0; for (int i=a; i <= b; ++i) k +=i; return k; } void main() { int x = 5, k = 0; k = SumInt(x,10); } SP x = 5 k =0 Ngănxếp SP a = 5 b = 10 k => 45 45 k = 45 30 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Trả về con trỏ  Viếthàmtrả về₫ịachỉ củaphầntử lớnnhấttrongmộtmảng: int* FindMax(int* p, int n) { int *pMax = p; int *p2 = p + n; while (p < p2) { if (*p > *pMax) pMax = p; ++p; } return pMax; } void main() { int s[5] = { 1, 2, 3, 4, 5}; int *p = FindMax(s,5); } . 26 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Thử ví dụ hàm swap #include <iostream.h> void swap(int& a, int&. } 27 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Khi nào sử dụng truyền tham chiếu?  Chỉ trong C++  Khi cầnthay₫ổi"biến ₫ầuvào" (truynhậptrựctiếp vào ô nhớ, không qua bảnsao)  Mộtthambiếnthamchiếucóthể₫óng. = 5 b = 10 k => 45 45 k = 45 30 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Trả về con trỏ  Viếthàmtrả về₫ịachỉ củaphầntử lớnnhấttrongmộtmảng: int* FindMax(int* p, int n) { int *pMax

Ngày đăng: 31/07/2014, 04:20

TỪ KHÓA LIÊN QUAN