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

  • ASUS Campus Life

    ASUS Campus

    18 Mart 2013
  • 10 Daughters, 2 Sons

    10 Daughters

    10 Mart 2009
  • SaMmM123

    SaMmM123

    3 Mayıs 2006