C++ çalışma sorusu – 30

C++11 standartlarına göre aşağıdaki C++ programı çalıştırıldığında bu programın çıktısı ne olur?

Sorunun yanıtı şu seçeneklerden biri de olabilir:
Sentaks hatası (derleme zamanı hatası)
Tanımsız davranış.
Derleyiciye göre değişir.

 

 

Cevabı buradan görebilirsiniz
Programın çıktısı
olacaktır. map kabında tutulan std::pair yapısı nesnelerinin birinci öğesi yani first isimli öğesi anahtar olarak kullanılmaktadır. map kabı içinden bir anahtardan yalnızca bir tane bulunabilir. Kodda bimap isimli map nesnesinde anahtar türü olarak bool türü kullanılmıştır.
Bu durumda std::initalizer_list parametreli kurucu işleve gönderilen listedeki ilk öğenin first öğesi false değerine dönüştürülürken diğer ilk değer verici çiftlerin first öğeleri olan tüm sıfır dışı değerler true değerine dönüştürülecektir. initializer_list‘de kullanılan 3. ve 4. çiftler map‘e eklenmeyecektir. iimap isimli nesnenin size() değeri 2 olacaktır. iimap isimli map nesnesinde ise anahtar olarak kullanılan tür int türü olduğu için listedeki tüm anahtar değerleri birbirinden farklı olacağından iimap isimli nesnenin size() değeri 4 olacaktır.

Share

Necati Ergin

C ve Sistem Programcıları Derneğinde eğitmen olarak çalışıyor.

Bunlar da ilginizi çekebilir

Kod Eklemek İçin Okuyun
Eklemek istediğiniz kodları lütfen aşağıdaki “pre” kodları arasında yazınız.
<pre class="lang:c++ decode:true ">
--yazacağınız kodlar--
</pre>
(buradan kopyalayarak kullanabilirsiniz)