ได้ตัวแปรจะใช้ฟังก์ชันเรียกใน ellipsis ฟังก์ชันในภาษา C++language

0

คำถาม

สำหรับฟังก์ชันนี้มันต้องใช้ตัวแปรจำนวนของอาร์กิวเมนต์,

void func(int count, ...)  // ellipsis function
{
// function definition
}

จะมีความสามารถเรียกฟังก์ชันต้องทำเรื่องแบบตาม:

int a{};
double b{};
string c{};

func(3,a,b,c); // using actual variables instead of fixed values in function call

คำถามคือตอนที่เป็น ellipsis ฟังก์ชันเป็นเรียกมันเสมอต้องเป็นแค่ fixed ค่าเหมือน func(3,5,2.7,"Hi") หรือทำตัวแปรเป็นใส่ในฟังก์ชันเรียกอย่างแล้ว func(3,a,b,c)?

c++ ellipsis variadic-functions
2021-11-24 04:59:50
2

คำตอบที่ดีที่สุด

3

โน้ตที่ผ่านไปเรียนเหมือน std::stringกับคนที่ไม่ใช่เรื่องที่คัดลอก constructor หรือ nontrivial ย้าย constructor หรือคนที่ไม่ใช่เรื่องที่ destructor นอาจจะยังไม่ได้สนับสนุนและมี"implementation-กำหนดไว้"การเล่นคำน่ะ คุณต้องเช็คของคอมไพเลอร์เอกสารคู่มือวิธีนั้นไม่มีการเรียนการสผ่านหรือตรวจสอบว่ามันเป็นการรองรับทั้งหมด

ได้ตัวแปรจะใช้ฟังก์ชันเรียกใน ellipsis ฟังก์ชันในภาษา C++language

ใช่แล้ว

จะมีความสามารถเรียกฟังก์ชันต้องทำเรื่องแบบตาม

ใช่แล้ว

ตอนที่เป็น ellipsis ฟังก์ชันเป็นเรียกมันเสมอต้องเป็นแค่ค่าซ่อมเหมือน func(3,5,2.7,"สวัสดี")

ไม่นะ

ได้ตัวแปรเป็นใส่ในฟังก์ชันเรียกเหมือนดังนั้น func(3 เป็นนะบี c)?

ใช่แล้ว

คุณสามารถแนะนำให้อะไรอ้างอิงดังนั้นฉันสามารถทำอย่างค้นหาข้อมูลบางอย่างของมัน?

https://en.cppreference.com/w/cpp/language/variadic_arguments https://en.cppreference.com/w/cpp/utility/variadic https://eel.is/c++แบบร่าง/expr#เรียก-12

และใน C++คุณควรจะทนไม่ไหชอบ: https://en.cppreference.com/w/cpp/language/parameter_pack เพราะประเภทอย่างแรกก็ความปลอดภัย

2021-11-24 07:01:52
0

ถึงแม้ว่า ellipsis ทำให้พวกเราบางคนประโยชน์ functionality มันค่อนข้างอันตรายต้องใช้มัน เมื่อใช้ ellipsis ที่คอมไพเลอร์ไม่ได้เช็คประเภทของอาร์กิวเมนต์ผ่านต้องฟังก์ชัน. ดังนั้นคอมไพเลอร์ไม่ได้โยนอะไรเกิดข้อผิดพลาดถ้าอาร์กิวเมนต์ของอย่างที่ต่างกัน ถึงแม้ว่าส่งข้อความ,สอง,หรือ bool ประเภทค่าเป็นผ่านไปเฉลี่ยฟังก์ชัน()มันจะได้กลับมาเป็นที่ไม่คาดคิดค่าของคอมไพเลอร์ไม่ได้โยนอะไรผิดพลาด

แหล่ง: https://www.geeksforgeeks.org/ellipsis-in-c-with-examples/

2021-11-24 06:56:15

นี่ไม่ได้ช่วยด้วย!
Pratap Biswakarma

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่