จำนวนอักขระหรืออักขระหรือไบต์ของข้อมูล std :: cout สามารถส่งออกพร้อมกันได้หรือไม่?

Aug 18 2020

ฉันกำลังเรียนรู้ C ++ ดังนั้นคุณมีสิทธิ์ที่จะคิดว่าฉันยังใหม่กับ C ++ และการเขียนโปรแกรมด้วย

ฉันพยายามทำความเข้าใจiostreamห้องสมุดไม่ใช่ทั้งหมด แต่เป็นสิ่งที่ผู้มาใหม่ต้องรู้ก่อนที่จะเข้าสู่หัวข้ออื่น ความเข้าใจของฉันstd::coutคือมันเป็นตัวแปรที่เก็บกลุ่มของตัวอักษรหรือค่าของตัวแปรอื่น ๆ สำหรับการส่งออกไปยังคอนโซล

ตอนนี้ฉันอยากรู้ว่าจำนวนอักขระสูงสุดเป็นสตริง - การให้โดยตรง (เช่นstd::cout <<"hello\n"--it (std :: cout) สามารถส่งออกไปยังคอนโซลได้

คำตอบ

3 eerorika Aug 18 2020 at 21:55

ไม่มีขีด จำกัด ที่ระบุ อาจมีขีด จำกัด เฉพาะการนำไปใช้งานจริง เป็นไปได้มากว่ามันจะมากกว่าที่คุณต้องการ

โปรดทราบว่าstd::coutกระแสจะออกมาตรฐาน ในขณะที่มักจะแสดงในคอนโซล แต่ก็ไม่จำเป็นต้องเป็นเช่นนั้น

2 john Aug 18 2020 at 21:56

ความเข้าใจของคุณstd::coutไม่ถูกต้องนัก std::coutเป็นตัวแปร แต่ไม่ได้มีตัวอักษร แต่จะส่งออกตัวอักษร (โดยทั่วไปจะเป็นคอนโซล)

ตอนนี้std::coutมักจะบัฟเฟอร์ซึ่งหมายความว่าจะไม่ส่งออกตัวอักษรทันที แต่เฉพาะเมื่อบัฟเฟอร์เต็มหรือเมื่อมีบรรทัดอักขระที่สมบูรณ์ แต่กระบวนการนี้เกิดขึ้นโดยอัตโนมัติและฉันไม่คิดว่านั่นเป็นสิ่งที่คุณหมายถึงโดย "ถือตัวอักษร"