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

  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008
  • DrePwn

    DrePwn

    22 Temmuz 2011
  • POGProductionz

    POGProductio

    27 NİSAN 2012