SORU
22 EYLÜL 2008, PAZARTESİ


C saklamak için bir işlev şablonu tanımlar .CPP dosyası

CPP dosyası içinde muhafaza yerine başlık içi tercih ederim bazı şablon kodu var. Bu tür kullanılacak bildiğin sürece yapılabilir biliyorum. Örneğin:

.h dosyası

class foo
{
public:
    template <typename T>
    void do(const T& t);
};

.cpp dosyası

template <typename T>
void foo::do(const T& t)
{
    // Do something with t
}

template void foo::do<int>(const int&);
template void foo::do<std::string>(const std::string&);

Son iki satırı - foo not::şablon işlevi yalnızca in ve std ile kullanılır: "bu tanımları uygulaması bağlayacak yani dizeler.

Benim sorum - kötü bu hack mi yoksa diğer derleyicileri ile çalışır/bağlayıcı? Şu an sadece VS2008 ile bu kodu kullanıyorum ama diğer ortamlar için port konuşmak istiyor.

CEVAP
22 EYLÜL 2008, PAZARTESİ


Bahsettiğiniz sorun başlığındaki şablon tanımlanarak çözülebilir, ya da yaklaşımı ile yukarıda tarif. Okuma puan 35.12, 35.13, 35.14 C FAQ Lite: tavsiye ederim

https://isocpp.org/wiki/faq/templates

Şablon bu konular hakkında ayrıntılı bir sürü gitmek.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • modica89

    modica89

    24 HAZİRAN 2007
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007