cuốn sách gpt4 ai đã làm

Làm thế nào để xác định chức năng tra cứu?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 01:04:42 30 4
mua khóa gpt4 Nike

Cố gắng xác định hàm tra cứu cho vectơ của tôi vì vectơ chứa nhiều dữ liệu;

Tôi đang nhập ID và cố gắng tìm kiếm nó trong bảng của mình và tìm chỉ mục của nó nếu ID đã tồn tại

Vì vậy, tôi có tuyên bố ở đây:

Bảng vector;
vector::iterator It;
vector::iterator find_It;

//Bảng có các giá trị này
//Bảng.ID, Bảng.ch1, Bảng.ch2

Tôi đang cố gắng tìm ID ở đây:

cin >> update_ID;
find_It = find(Table.begin(), Table.end(), update_ID);

Có cách nào sử dụng biến update_ID để tìm nó không?

Tôi đã thử làm điều này:

find_It = find(Table.begin(), Table.end(), (*It).update_ID;

Nhưng rõ ràng Nhân viên vector của tôi không có thành viên dữ liệu có tên update_ID

Một tùy chọn khác tôi muốn làm là tạo chức năng tra cứu của riêng mình, tôi hơi bối rối về cách xác định nó

Tôi muốn trả về chỉ mục ID của Table.ID = update_ID

Tôi nên đặt thông số giá trị và kiểu trả về là gì? Vâng

returntype find(Iterator, Iterator, ID cập nhật)
{
for (vector::iterator myit = Table.begin(), Table.end(), myit++)
{
nếu update_ID == Table.ID
{
trả lại tôi nó;
}
}
trả lại tôi đi
}

câu trả lời hay nhất

Thư viện chuẩn C++ đi kèm một tập hợp các chức năng tìm kiếm .

您正在寻找 tìm_if, hàm này sử dụng một hàm xác định phép so sánh.

// một functor lấy update_ID bạn 
// đang tìm kiếm làm đối số trong hàm tạo
cấu trúc myfind {
myfind(int kim): kim(kim) {}

kim int;
bool operator()(const Nhân viên& x) {
return x.ID == kim;
}
};

// sử dụng như
int update_ID = 23;
std::find_if(begin(Table), end(Table), myfind(update_ID));

Bạn cũng có thể sử dụng lambda:

int id;
std::find_if(bắt đầu(Bảng), kết thúc(Bảng),
[=](const Nhân viên& x) { return x.update_ID == id });

Giới thiệu về c++ - Cách xác định hàm tra cứu? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/13734511/

30 4 0
Taklimakan
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress