01/10/2018, 10:47
Hỏi về while (cin>>x)?
#include <iostream>
#include<vector>
using namespace std;
void arrayFloatOutput(const vector<float>&a){
for(int i=0;i<a.size();i++)
cout<<a[i]<<" ";
}
void arrayFloatInput(vector<float>&a){
float x;
while (cin>>x){
a.push_back(x);
}
}
void main(){
vector<float>a;
cout<<"Input an array,press Ctrl X then Enter to stop:"<<endl;
arrayFloatInput(a);
cout<<"Element(s) in the array:";
arrayFloatOutput(a);
cout<<endl;
}
Cho mình hỏi với đoạn code trên thì :
- Cách dùng lệnh
while (cin>>x)
như thế mình không hiểu ? - Cái
void arrayFloatOutput(const vector<float>&a)
thì const có tác dụng gì và nếu bỏ nó thì sẽ ra sao ?
Cảm ơn các bạn.!
Bài liên quan
lần sau post code bỏ vô giữa
```
code
```
1 dòng code thì cho vô giữa 2 dấu ` `
cin >> x
là 1 hàm nhận 2 tham sốcin
vàx
, và có giá trị trả về làcin
.cin
là kiểuostream
, nhưng có thể ép kiểu ngầm định thànhbool
, có giá trịtrue
nếucin
đọc vào ko gặp lỗi, ngược lại nếu gặp lỗi hay gặp end-of-file thì trả vềfalse
.while (cin >> x)
hiểu là đọc vào biến x 1 số từ cin, nếu cin ko gặp lỗi thì tiếp tục, hoặc đọc vào biến x 1 số từ cin tới khi nào cin gặp lỗi thì dừngconst &
là constant reference, reference nghĩa là truyền vào chính biến này, đừng truyền vào bản copy (C++ chịu ảnh hưởng từ C, mặc định truyền tham số thông qua bản copy chứ ko phải bản chính). constant nghĩa là hàm nhận tham số này sẽ hiểu tham số này là hằng số, tức là ko thay đổi nó được. Với vd trên thì bạn gána[0] = 10;
sẽ báo lỗi vìa
hiểu là mảng bất biến, hay mảng ko thay đổi, nên ko thay đổi giá trị củaa[0]
được1: khi bạn nhập 0 thì chương trình dừng!
2: nó là con trỏ hằng không cho thay đổi giá trị của phần tử con trỏ–> bạn cần tìm hiểu con trỏ hằng và hằng con trỏ.
bạn có tài liệu về cin ko bạn.cho mình xin đọc với ?
Hi Taivuong95.
Tài liệu chính xác về chương hợp này thì không có tuy nhiên bạn có thể tham khảo qua các doc.
Về
std::cin
là dòng vào chuẩn kế thừa từ streams cụ thể làstd::istream
http://en.cppreference.com/w/cpp/io/cin
Tài liệu về
std::istream
nó là mộtstd::basic_istream
xem chi tiết toán tửoperator>>
http://en.cppreference.com/w/cpp/io/basic_istream
Tài liệu về toán tử
operator>>
nó trả về cho bạnstd::basic_istream
http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt2
Tài liệu về
std::basic_istream
.http://en.cppreference.com/w/cpp/io/basic_istream
Xem kĩ trong phần
Member functions
Trước C++11 nó được ép kiểu mặc định về void* từ C++11 ép kiểu về bool. Dùng để check lỗi và kế thừ từ
std::basic_ios
std::basic_ios
http://en.cppreference.com/w/cpp/io/basic_ios
cảm ợn bạn nhé ^^
iostream
là 1 ví dụ mẫu mực về method chaining à mà cin làistream
.