SORU
19 EKİM 2011, ÇARŞAMBA


C ne ??!??! operatör?

Buna benzeyen bir C satırı gördüm

!ErrorHasOccured() ??!??! HandleError();

Doğru ve Tamam ' ı çalıştırmak gibi görünüyor derledim. Eğer bir hata oluştu diye kontrol etmek gibi görünüyor, ve eğer varsa, bu işleme. Ama gerçekten ne yaptığını veya ne olduğundan emin değilim. Programcı duygularını ifade hataları hakkında çalışıyor gibi görünüyor.

Asla ??!??! Daha önce herhangi bir programlama dili gördüm, ve her yerde belgelerine bulamıyorum. (Google ??!??!) gibi arama terimleri ile yardımcı olmuyor. Ne işe yarar ve nasıl kod örneği çalışır?

CEVAP
19 EKİM 2011, ÇARŞAMBA


??! | çevirir trigraph. Diyor ki:

!ErrorHasOccured() || HandleError();

olan, kısa devre nedeniyle, eşittir:

if (ErrorHasOccured())
    HandleError();

Bu aldığım yere Guru of the Week (C fiyatları ile ilgili ama burada).

Possible origin of trigraphs veya @DwB olarak daha zor (tekrar) EBCDIC nedeniyle bu açıklamalarda puan. IBM developerworks kurulu 13* *tartışma bu teoriyi destekleyecek gibi görünüyor.

ISO/9899:1999 §5.2.1.1, Dipnot 12 (h/t @Random832) IEC:

Trigraph dizileri Sabit Kod olarak tanımlanmayan karakter girişi etkinleştir ISO/IEC açıklanan yedi-bit US-ASCII kod kümesinin bir alt kümesidir, 646,.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • Chuck Testa

    Chuck Testa

    14 AĞUSTOS 2011