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

  • Joe DiFeo

    Joe DiFeo

    7 AĞUSTOS 2012
  • parlophone

    parlophone

    28 ŞUBAT 2006
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009