Salah satu kegunaan dari ...
adalah untuk menunjukkan entitas variadic di C dan C ++.
Apa namanya?
Apakah itu diklasifikasikan sebagai operator atau sesuatu yang lain ketika digunakan dengan cara itu?
Ada detail lain tentang ...
?
Sunting:
Saya tahu tujuan ...
. Saya bertanya tentang nama dan klasifikasinya, yang saya harap, serupa dalam C dan C ++.
Jawaban:
Ini adalah salah satu dari punctuator .
Dalam deklarasi fungsi itu disebut elipsis .
Ellipsis juga digunakan oleh beberapa
C
ekstensi bahasa kompiler . Contoh - gcc switch / ekstensi rentang kasushttps://godbolt.org/z/YBLma-
sumber
...
itu bukan operator, karena tidak dapat membentuk bagian dari ekspresi (dalam arti 'ekspresi' yang didefinisikan oleh C11 §6.5 ). Ini memiliki lebih banyak kesamaan dengan{
}
dan;
daripada dengan punctuator lainnya....
dapat menjadi bagian dari ekspresi. Tapi itu tidak dianggap sebagai operator oleh sintaks formal.Ini
...
disebut sebagai elipsis dalam bahasa Inggris dan dalam standar C.sumber
Ya, Dalam istilah awam
...
dapat dianggap sebagai menunjukkan lebih dari satu atau kelipatan (seperti dalam tanda baca pseudo-kode kita kadang-kadang menggunakan beberapa titik untuk menyerupai jenis yang berbeda) dari kasus penggunaan, yang jika kita mempertimbangkan variadics (menjadi multipel dalam arti argumen / parameter 'beragam') dalam C ++, ini akan merujuk ke sejumlah variabel argumen untuk fungsi atau template.Elipsis
Tidak, itu jelas bukan operator karena memungkinkan Anda untuk melewati sejumlah argumen, tidak beroperasi pada mereka.
Sejauh yang aku tahu -
sizeof
operator, karena diklasifikasikan sebagai ekspansi paket juga.Namanya sama, tetapi penggunaannya bisa bervariasi untuk C ++ dan C.
Saya hanya terbiasa dengan penggunaannya dalam bahasa sebelumnya. (Aku ingat memiliki masalah HackerRank pada Variadics , meliputi utilitas.)
sumber
Urutan tiga pemberhentian penuh
...
disebut elipsis di C dan C ++Dalam C ++, elipsis membantu menginisialisasi dan memperluas berbagai jenis paket .
A
parameter pack
- ketika ada elipsis antara tipe dan pengenalType ... identifier
A
pack expansion
- terdiri dari pola dan elipsispattern...
sumber