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

  • george sarintzotis

    george sarin

    2 Aralık 2007
  • LinusTechTips

    LinusTechTip

    25 Kasım 2008
  • SuppressedStorm

    SuppressedSt

    11 AĞUSTOS 2013