SORU
26 Ocak 2010, Salı


Nasıl C fonksiyonları nesneleri geçirmek için ?

C programlama için yeni duyuyorum, ama Java tecrübem var. C fonksiyonları nesneleri geçirmek için nasıl yardıma ihtiyacım var .

İşaretçiler, referanslar, ya da olmayan işaretçi ve referans dışı değerler geçmesi gerekiyor mu? Nesneler için başvuru sadece değişken geçeriz beri böyle sorunlar yok Java hatırlıyorum.

Ayrıca bu seçeneklerin her nerede kullanılacağını izah edebilirsen çok iyi olur.

CEVAP
26 Ocak 2010, Salı


Tek yazarlıC 11:

Geçmekdeğerne zaman dışında

  1. nesnenin sahipliğini gerekmez ve basit bir ad, bu durumda sana yapacakconst referans geçer,
  2. nesne, bu durumda mutasyona gerekir sürece kullanınolmayanconst lvalue başvurusu geçer,
  3. bu durumda gerek temel sınıf türetilmiş sınıf nesneleri geçmedenreferans geçer. (const referans geçmek için olup olmadığını belirlemek için önceki kurallar kullanın.)

İşaretçi geçirmeden hemen hemen hiç bir zaman tavsiye edilir. İsteğe bağlı parametreler ** 3 ve yumuşatma referans tarafından iyi yapılır en iyi şekilde ifade edilmiştir.

C 11 hareket semantiği ve değeri çok daha karmaşık nesneler için cazip geçerken dönen olun.


Tek yazarlıC 03:

Argümanları4 ** başvurune zaman dışında

  1. işlev içinde değiştirilebilir ve bu değişiklikler dışında, bu durumda size yansıması gerekirolmayanconst referans geçer
  2. işlevi olmalıdır çağrılabilir olmadan herhangi bir argüman durumda, by-pass işaretçi, böylece kullanıcılar iletebilirsiniz NULL/0/nullptr bunun yerine, başvuruda önceki kural olup olmadığını belirlemek içinconst bir değişken için bir işaretçi geçirmek
  3. olabilir yerleşik türlerikopya ile geçti
  4. işlev içinde değiştirilebilir ve bu değişiklikler gerekirdeğilbu durumda dışarıdan, yansıtılmasıkopyasını geçmek(bir alternatif daha önceki kurallarına göre geçiş ve fonksiyonun içindeki bir kopyasını alın)

(burada, "" kopya geçmek", çünkü değer geçerken hep C 03 bir kopyasını oluşturur)." değer geçer


Bunun devamı da var, ama bu birkaç acemi kuralları size yeterli olacaktır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amena

    Amena

    15 Kasım 2006
  • InfoPuppet

    InfoPuppet

    15 Kasım 2011
  • LearnCode.academy

    LearnCode.ac

    20 Aralık 2012