คำถามติดแท็ก c++-standard-library

ในภาษาการเขียนโปรแกรม C ++ ไลบรารีมาตรฐาน C ++ คือชุดของคลาสและฟังก์ชันซึ่งอาจเขียนเป็นภาษาหลักหรือไม่ก็ได้และเป็นส่วนหนึ่งของ C ++

1
shift_right () ตั้งใจจะนำไปใช้ใน C ++ 20 อย่างไร
ใน C ++ 20 <algorithm>กำไรส่วนหัวทั้งสองขั้นตอนวิธีการใหม่และshift_left() shift_right()ทั้งสองคนยอมรับ LegacyForwardIterator ใด ๆ สำหรับshift_left()มันระบุไว้ว่า "การเคลื่อนไหวจะดำเนินการเพื่อเพิ่มการiเริ่มต้นจาก​0"; สำหรับshift_right()มันมีการระบุว่า "ถ้าForwardItตรงตามความต้องการ LegacyBidirectionalIterator แล้วย้ายจะดำเนินการในลำดับที่ลดลงของการiเริ่มต้นจากlast - first - n - 1" ฉันคิดว่าวิธีง่าย ๆ ที่จะใช้shift_left(): template <typename ForwardIt> constexpr inline ForwardIt shift_left(ForwardIt first, ForwardIt last, typename std::iterator_traits<ForwardIt>::difference_type n) { if (n <= 0) return last; ForwardIt it = first; for (; …

1
การเปรียบเทียบ std :: string และสตริงตัวอักษรสไตล์ C
สมมติว่าฉันมีรหัสต่อไปนี้: #include <iostream> #include <string> #include <iomanip> using namespace std; // or std:: int main() { string s1{ "Apple" }; cout << boolalpha; cout << (s1 == "Apple") << endl; //true } คำถามของฉันคือ: ระบบตรวจสอบระหว่างสองสิ่งนี้อย่างไร s1เป็นวัตถุในขณะที่"Apple"เป็นตัวอักษรสตริงสไตล์ C เท่าที่ฉันรู้ชนิดข้อมูลที่แตกต่างไม่สามารถเปรียบเทียบได้ ฉันหายไปนี่อะไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.