C ++ 11 bao gồm std :: stoi, tại sao không std :: itos?


37

Tôi nhận thấy niềm vui của mình rằng C ++ 11 có một std::sto@nhóm các chức năng để dễ dàng giải nén ints / float / longs bất cứ thứ gì từ chuỗi. Tuy nhiên, tôi ngạc nhiên rằng điều ngược lại không được thực hiện. Tại sao ủy ban tiêu chuẩn không bao gồm một std::itosnhóm các chức năng để chuyển từ ints / float / anything (back) sang chuỗi?

Câu trả lời:


39

Tôi đã nhầm, có một tập hợp các hàm "Xtos", tất cả chúng chỉ được đặt tên to_string. Mỗi mã thông báo bị quá tải để có một loại cơ bản khác nhau, nghĩa là:

std::string to_string(float f);
std::string to_string(int f);
...

Xem ở đây để biết thêm.


6
Điều này đặt ra câu hỏi tại sao các stoXhàm được đặt tên một cách vụng về như vậy thay vì cung cấp một from_string<T>chuyên ngành chung phù hợp cho từng loại số học T.
5gon12eder

Có lẽ tiếp theo từ C
Mark K Cowan

3
to_opes không hoàn toàn trái ngược với stoi, vì trong stoi () bạn có thể chỉ định cơ sở, nhưng trong to_opes () bạn không thể: /
Marin Shalamanov
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.