คำถามติดแท็ก variadic

10
เหตุใดจึงต้องใช้คำหลักพารามิเตอร์
ฉันรู้ว่านี่เป็นคำถามพื้นฐาน แต่ฉันไม่พบคำตอบ ทำไมต้องใช้ หากคุณเขียนฟังก์ชั่นหรือวิธีการที่ใช้มันเมื่อคุณลบมันรหัสจะยังคงทำงานได้อย่างสมบูรณ์ 100% โดยไม่ต้องใช้มัน เช่น: ด้วย params: static public int addTwoEach(params int[] args) { int sum = 0; foreach (var item in args) sum += item + 2; return sum; } ไม่มีพารามิเตอร์: static public int addTwoEach(int[] args) { int sum = 0; foreach (var item in args) sum …

5
วิธีสร้างมาโครแบบผันแปร (จำนวนอาร์กิวเมนต์ที่ผันแปร)
ฉันต้องการเขียนแมโครใน C ที่ยอมรับพารามิเตอร์จำนวนเท่าใดก็ได้ไม่ใช่ตัวเลขที่เฉพาะเจาะจง ตัวอย่าง: #define macro( X ) something_complicated( whatever( X ) ) โดยที่Xจำนวนพารามิเตอร์ใด ๆ ฉันต้องการสิ่งนี้เพราะwhateverโอเวอร์โหลดและสามารถเรียกได้ด้วยพารามิเตอร์ 2 หรือ 4 ฉันพยายามกำหนดมาโครสองครั้ง แต่คำจำกัดความที่สองเขียนทับอันแรก! คอมไพเลอร์ที่ฉันทำงานด้วยคือ g ++ (โดยเฉพาะเจาะจงมากขึ้น mingw)

12
ส่งต่อการเรียกใช้ฟังก์ชัน Variadic ใน C
ใน C เป็นไปได้ไหมที่จะส่งต่อการเรียกใช้ฟังก์ชัน Variadic ในขณะที่ int my_printf(char *fmt, ...) { fprintf(stderr, "Calling printf with fmt %s", fmt); return SOMEHOW_INVOKE_LIBC_PRINTF; } การส่งต่อการเรียกใช้ในลักษณะข้างต้นไม่จำเป็นอย่างชัดเจนในกรณีนี้ (เนื่องจากคุณสามารถเข้าสู่ระบบการร้องขอในรูปแบบอื่นหรือใช้ vfprintf) แต่รหัสฐานที่ฉันกำลังทำงานอยู่นั้นต้องใช้กระดาษห่อเพื่อทำงานจริงและไม่จำเป็น ไม่มี (และไม่สามารถเพิ่มได้) ฟังก์ชันตัวช่วยคล้ายกับ vfprintf [อัปเดต: ดูเหมือนจะมีความสับสนตามคำตอบที่ให้มาจนถึงตอนนี้ ในการตั้งคำถามด้วยวิธีอื่น: โดยทั่วไปคุณสามารถรวมฟังก์ชัน Variadic ตามใจชอบได้โดยไม่ต้องแก้ไขนิยามของฟังก์ชันนั้น]
189 c  variadic 

5
วิธีการใช้คุณสมบัติจุดไข่ปลาของ R เมื่อเขียนฟังก์ชั่นของคุณเอง?
ภาษา R มีคุณสมบัติที่ดีสำหรับการกำหนดฟังก์ชั่นที่สามารถรับจำนวนตัวแปรของการขัดแย้ง ตัวอย่างเช่นฟังก์ชันdata.frameรับจำนวนอาร์กิวเมนต์ใด ๆ และแต่ละอาร์กิวเมนต์กลายเป็นข้อมูลสำหรับคอลัมน์ในตารางข้อมูลผลลัพธ์ ตัวอย่างการใช้งาน: > data.frame(letters=c("a", "b", "c"), numbers=c(1,2,3), notes=c("do", "re", "mi")) letters numbers notes 1 a 1 do 2 b 2 re 3 c 3 mi ลายเซ็นของฟังก์ชันรวมถึงจุดไข่ปลาเช่นนี้ function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, stringsAsFactors = default.stringsAsFactors()) { [FUNCTION DEFINITION HERE] } …

4
(…) เรียกใน C และ C ++ คืออะไร
หนึ่งของการใช้งานของ...คือการแสดงvariadicหน่วยงานใน C และ C ++ มันชื่ออะไร? มันจัดอยู่ในประเภทโอเปอเรเตอร์หรืออย่างอื่นเมื่อใช้งานในลักษณะนั้นหรือไม่? รายละเอียดอื่น ๆ เกี่ยวกับ...? แก้ไข:...ฉันรู้ว่าวัตถุประสงค์ของการ ฉันถามชื่อและการจำแนกซึ่งฉันหวังว่าจะคล้ายกันในทั้ง C และ C ++
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.