Một vài thắc mắc về lập trình C++

Chào mọi người, em học c++ hơn 4 tháng. Sau khi đọc một số tài liệu và xem video về c++, em có một vài thắc mắc mong mọi người giải đáp:

  1. Tác dụng của con trỏ là gì? Em có thấy ví dụ về hàm swap sử dụng con trỏ, nhưng ngoài nó ra thì con trỏ còn có tác dụng gì nữa? Và biến con trỏ với biến tham chiếu có gì khác nhau?
  2. Nên dùng “using namespace std” hay viết kiểu “std::cout”? Vấn đề này em đọc tài liệu với tra trên mạng thì người nói thế này, người nói thế kia nên em không biết dùng thế nào.
  3. Em có viết một bài có đoạn code thế này:

char chon;
cout<<"Nhap lua chon (y/n): ";
cin>>chon;

Khi người dùng nhập y thì nó sẽ đưa đến một hàm khác yêu cầu nhập giá trị để tính toán. Nhưng nếu người dùng nhập ‘ynv’ thì nó vẫn dẫn đến hàm yêu cầu nhập giá trị nhưng nó tự tự động gán ‘nv’ cho hàm đó. Vậy có cách nào để có thể loại bỏ đoạn dư ‘nv’ không? Mong mọi người giúp, em xin cảm ơn :smiley:

Bạn xóa buffer trước khi thực hiện các lệnh trong hàm. lệnh fflush(stdin)

1 Like

Cho em hỏi là khi nào nên dùng biến trỏ, khi nào nên dùng biến tham chiếu? Do trong hàm swap em thấy dùng biến tham chiếu có vẻ đơn giản hơn.

Theo em là nên dùng biến tham chiếu.

  1. Em có đọc tài liệu nào đó nói rằng nên hạn chế dùng con trỏ vì khó quản lý

  2. Tất nhiên là biến tham chiếu dễ sử dụng, dễ quản lý hơn

Mọi người cho thêm ý kiến ạ.

Con trỏ là để trỏ tới địa chỉ của 1 vùng nhớ , còn tham chiếu là một tên khác của biến . Mình thì chưa có điều kiện để biết xem tham chiếu nó cần trong những điều kiện như thế nào nên chưa trả lời giúp bạn đc , nhưng con trỏ thì mình hay dùng đến . Giả sử như mình muốn viết 1 hàm nào đó và hàm này dùng để lấy các phần tử trong 1 mảng cho trước thì mình hay dùng con trỏ , mình truyền 1 tham số có dạng con trỏ vào hàm đó , và dùng con trỏ để chỉ tới các phần tử trong đó là lấy nó ra và dùng số đó để thực hiện ý định mình muốn . Tóm lại tùy vào mục đích,bài tập của bạn mà bạn dùng con trỏ , bạn có thể đọc thêm một số bài tập sử dụng con trỏ thì sẽ dễ dàng hình dung đc khi nào cần nó

Mình hay thấy người ta dùng tham chiếu hay dùng để rút gọn tên :smile: ví dụ bạn có một struct hoten; trong đó có thành phần ten thì bạn gán cho hoten.ten một tên khác cũng trỏ vào nó. các hàm dài quá hoặc class, struct dài thì hay dùng như vậy.
Còn các trường hợp còn lại thì mình thấy 2 cái này đều thay thế cho nhau được

1 Like

@Rok_Hoang Mình thấy đó cũng là 1 ý :smiley: tại vì mình làm việc toàn đặt tên ngắn lên ít khi mình dùng tham chiếu

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?