Cách trả về con trỏ từ hàm trong C++

Cach Tra Ve Con Tro Tu Ham Trong C



Trong hàm C++ là một khối mã được giới thiệu để thực hiện một số hàm và con trỏ được sử dụng để trỏ các biến trong hàm. Con trỏ được gán với địa chỉ.

Cách trả về con trỏ từ hàm trong C++

Trong C++ có thể trả về một con trỏ từ một hàm. Điều này có thể đạt được bằng cách khai báo hàm kiểu trả về dưới dạng con trỏ tới hàm đó. Mỗi hàm được tạo đều có một địa chỉ được chỉ định trong bộ nhớ. Dấu hoa thị * được chèn vào bên trái tên hàm.







Cú pháp

Đây là cú pháp trả về một con trỏ từ một hàm trong C++:



trở lại kiểu ( * tên_con trỏ hàm ) ( đối số_type_1, đối số_type_2, ……, đối số_type_n ) = Tên chức năng ;

ví dụ 1

Ví dụ này minh họa sự trả về của một con trỏ từ một hàm trong C++:



#include

sử dụng không gian tên tiêu chuẩn ;

trống rỗng kết quả ( int & Một )

{

Một + = 10 ;

}

int chủ yếu ( )

{

int x = 40 ;

// con trỏ trả về từ hàm

trống rỗng ( * ptr ) ( int & ) = & kết quả ;

ptr ( x ) ;

cout << x << kết thúc ;

trở lại 0 ;

}

Trong mã nguồn này, hàm kết quả void được khai báo và lấy tham chiếu đến int a được tăng lên 10 lần. Biến x lưu trữ giá trị 40 và *ptr trỏ tới hàm int&. Giả sử ptr trỏ đến kết quả, do đó x được tăng thêm 10.





Giá trị của đầu vào x được tăng thêm 10 và được trả về 50.



Ví dụ 2

Đây là một ví dụ tính lương hàng tuần của người lao động:

#include

sử dụng không gian tên tiêu chuẩn ;

gấp đôi & Nhận giờ hàng tuần ( )

{

gấp đôi h = 32,65 ;

gấp đôi & giờ = h ;

trở lại giờ ;

}

gấp đôi * Nhận Lương ( )

{

gấp đôi lương = 42,48 ;

gấp đôi * Lương hàng giờ = & lương ;

trở lại Lương hàng giờ ;

}

int chủ yếu ( )

{

gấp đôi giờ = Nhận giờ hàng tuần ( ) ;

gấp đôi lương = * Nhận Lương ( ) ;

cout << 'Giờ hàng tuần của công nhân:  ' << giờ << kết thúc ;

cout << 'Tiền lương theo giờ của người lao động: ' << lương << kết thúc ;

gấp đôi Lương hàng tuần = giờ * lương ;

cout << 'Tiền lương hàng tuần của người lao động:' << Lương hàng tuần << kết thúc ;

trở lại 0 ;

}

Trong mã nguồn này, số giờ và mức lương theo giờ là đầu vào. Con trỏ trả về từ phương thức của hàm được sử dụng để truy cập các tham số này và tính lương hàng tuần của người lao động.

Khi biết số giờ hàng tuần và mức lương theo giờ, mức lương hàng tuần có thể được tính bằng cách nhân cả hai số hạng.

Phần kết luận

Trong C++ có thể trả về một con trỏ từ một hàm. Điều này có thể đạt được bằng cách khai báo hàm kiểu trả về dưới dạng con trỏ tới hàm đó. Mỗi hàm được tạo đều có một địa chỉ được chỉ định trong bộ nhớ.