SORU
15 ŞUBAT 2010, PAZARTESİ


Tanımlama genel sabit C

Birkaç kaynak dosyaları görünür olması için sürekli bir C tanımlamak istiyorum. Aşağıdaki yollardan bir başlık dosyası içinde tanımlamak için resim yapabilirim

  1. #define GLOBAL_CONST_VAR 0xFF
  2. int GLOBAL_CONST_VAR = 0xFF;
  3. Bazı fonksiyon değeri returing (*örneğin 3*)
  4. enum { GLOBAL_CONST_VAR = 0xFF; }
  5. const int GLOBAL_CONST_VAR = 0xFF;
  6. extern const int GLOBAL_CONST_VAR; ve bir kaynak const int GLOBAL_CONST_VAR = 0xFF; dosya

Seçenek (1) - kesinlikle kullanmak istediğiniz seçenek değil

Seçenek (2) - her nesne dosyasındaki değişken başlık dosyası kullanan örnek tanımlama

Seçenek (3) - IMO çoğu durumda yönlendiriyor

Numaralama somut bir tip olduğundan seçenek (4) - birçok durumda, belki de iyi değil (C 0 X olasılık türü tanımlamak için Ekle

Çoğu durumda arasında (5) ve (6) seçmek için ihtiyacım var. Soru:

  1. (5) veya (6)? tercih ediyorsun
  2. (5) ok neden, Süre (2) değil mi?

CEVAP
15 ŞUBAT 2010, PAZARTESİ


Kesinlikle git seçeneği ile 5 - Bu tür güvenli ve sağlar derleyici için optimize (almayın adresi bu değişken :) Ayrıca eğer bir başlık çubuğu içine bir ad önlemek için kirletici genel kapsam:

// header.hpp
namespace constants
{
    const int GLOBAL_CONST_VAR = 0xFF;
    // ... other related constants

} // namespace constants

// source.cpp - use it
#include <header.hpp>
int value = constants::GLOBAL_CONST_VAR;

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • Le Cargo !

    Le Cargo !

    24 HAZİRAN 2007
  • Vsauce

    Vsauce

    30 Temmuz 2007