SORU
14 NİSAN 2010, ÇARŞAMBA


Nasıl C özel statik, sabit bir harita başlatmak için ?

Sadece sözlük ya da ilişkisel dizi* =^ *3 ihtiyacım var. int.

Yazın göster C bu durumda orada.

Ama sadece bir harita ve adalet örneklerine ihtiyacım var(->statik) ve bu harita değiştirilemez(->takımyıldız);

Kütüphane boost ile bu yolu buldum

 std::map<int, char> example = 
      boost::assign::map_list_of(1, 'a') (2, 'b') (3, 'c');

Bu lib olmadan başka çözüm var mı? Böyle bir şey denedim, ama her zaman göster başlatma ile ilgili bazı sorunları vardır.

class myClass{
private:
    static map<int,int> create_map()
        {
          map<int,int> m;
          m[1] = 2;
          m[3] = 4;
          m[5] = 6;
          return m;
        }
    static map<int,int> myMap =  create_map();

};

CEVAP
14 NİSAN 2010, ÇARŞAMBA


#include <map>
using namespace std;

struct A{
    static map<int,int> create_map()
        {
          map<int,int> m;
          m[1] = 2;
          m[3] = 4;
          m[5] = 6;
          return m;
        }
    static const map<int,int> myMap;

};

const map<int,int> A:: myMap =  A::create_map();

int main() {
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blunty

    Blunty

    13 Mart 2006
  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • happyjpy

    happyjpy

    22 AĞUSTOS 2009