SORU
12 AĞUSTOS 2011, Cuma


Otomatik olarak değişken bir türü belirli bir sayıda tutmak için yeterince büyük al

Orada C herhangi bir yolu var mı en fazla belirli bir sayıda tutmak için yeterince büyük bir tür, muhtemelen bazı akıllı şablon kodunu kullanarak tanımlayın. Örneğin yazmak istiyorum :-

Integer<10000>::type dataItem;

Ve türü belirtilen değeri saklamak için yeterince büyük olan en küçük türü gidermek için?

Arka plan: bazı değişken tanımlamalarını harici bir veri dosyası bir komut dosyası kullanarak oluşturmak istiyorum. Senaryoyu değerlerine bak ve*4, *, uint32_t, **5 vb kullanın olabilir sanırım. değerine bağlı olarak, ancak daha fazla görünüyorzarifüretilen C kodu boyutunu oluşturmak için.

Bunu bir şablon yapmak için herhangi bir yol göremiyorum, ama C şablonlar bilmenin bir yolu yoktur eminim. Herhangi bir fikir?

CEVAP
12 AĞUSTOS 2011, Cuma


Boost.Tamsayı zaten Integer Type Selection mevcuttur:

boost::int_max_value_t<V>::least

Küçük, dahili, 0 - V parametresi pozitif bir sayı olmalıdır dahil aralıktaki tüm değerleri tutan bir tamsayı türü imzaladı.

boost::uint_value_t<V>::least

Tüm olumlu tutabileceği, dahili, imzasız küçük ayrılmaz türü ve V. parametre pozitif bir sayı olmalıdır dahil olmak üzere değerleri.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Arun Kumar

    Arun Kumar

    18 Mart 2010
  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • TheOtherMau5

    TheOtherMau5

    6 Mart 2012