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

Tôi có thể phân bổ trước một khối bộ nhớ cho C++ 11 std::tuple không?

In lại Tác giả: Walker 123 Thời gian cập nhật: 27-11-2023 23:11:56 26 4
mua khóa gpt4 Nike

Tôi có chuỗi đầu vào của người dùng, chẳng hạn như "5 6.3 foo 2.1". Mỗi từ hoặc số trong một chuỗi, chẳng hạn như 5 hoặc 6,3, có thể có một loại khác nhau. Tôi muốn chuyển đổi mảng ký tự đầu vào của người dùng này thành một bộ dữ liệu theo cách hiệu quả nhất về thời gian (thời gian tuyến tính). Tôi không biết số từ hoặc số trong chuỗi nên tôi không biết trước số phần tử mà bộ dữ liệu sẽ chứa. Tất cả những gì tôi biết là độ dài của bộ dữ liệu sẽ nhỏ hơn giới hạn được xác định trước, giả sử đó là 10000 phần tử. Tôi tin rằng hàm std::tuple_cat có thể được sử dụng để thực hiện nối giống như mảng và tôi có thể sử dụng hàm này để thêm từng phần tử vào bộ dữ liệu một. Tôi không thích ý tưởng này vì nếu std::tuple_cat hoạt động giống như nối mảng, thì mọi phần tử trong vùng chứa sẽ cần được sao chép mỗi khi tuple_cat(n bình phương thời gian) được gọi. Tôi muốn dự trữ hoặc phân bổ trước một không gian bộ nhớ có dung lượng 100kb cho bộ dữ liệu và đặt các phần tử mới được thêm vào bộ dữ liệu vào không gian bộ nhớ được phân bổ trước này mà không cần sao chép bất kỳ phần tử nào khác. Có cách nào để lấy dữ liệu đầu vào của người dùng theo thời gian tuyến tính hay không. Chuyển đổi chuỗi thành tuple?

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

Không có cách nào thực sự hiệu quả để làm những gì bạn muốn với std::tuple. Chúng là các cấu trúc tại thời điểm biên dịch và bạn muốn xác định các loại trong bộ dữ liệu khi chạy. Cách duy nhất để làm điều này là khởi tạo trước mọi hoán vị của loại lên đến số phần tử tối đa, đây sẽ là một số lượng khá lớn...

Có vẻ như điều bạn thực sự muốn là std::vector<>> Một cái gì đó như thế.

Giới thiệu về c++ - Tôi có thể phân bổ trước một khối bộ nhớ cho C++11 std::tuple không? , 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/19735411/

26 4 0
Walker 123
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