SORU
20 Mart 2013, ÇARŞAMBA


Ne olur &; Merhaba, Dünya!"" örneğin, "std::ref"?

Biri std::ref işlevselliğini gösteren basit bir örnek verebilir misiniz? Bazı diğer yapıları (dizilerini, ya da veri türü şablonları gibi) kullanılan bir örneksadece eğerimkansız onlar olmadan std::ref daha iyi açıklayabilir.

* here *4 here hakkında iki soru buldum. Ama ilk defa gittiği bir hata, bir derleyici ve ikinci bir örnek kullanım std::ref içermez std::ref ve onlar dahil dizilerini ve veri türü şablonları yapmak hangi anlayışın bu örnekler karmaşık.

CEVAP
20 Mart 2013, ÇARŞAMBA


Bir fonksiyonu std::ref kullanarak düşünmek gerekirdeğer şablon parametresi olarak alır, std::bind gibi.

std::ref bir referans gibi davranan bir değer yazın.

Bu örnek gösterilebilir std::ref kullanır.

#include <iostream>
#include <functional>

void increment( int &x )
{
    x;
}

int main()
{
  int i = 0;

  // Here, we bind increment to (a copy of) i...
  std::bind( increment, i ) ();
  //                        ^^ (...and invoke the resulting function object)

  // i is still 0
  std::cout << i << std::endl;

  // Now, we bind increment to std::ref(i)
  std::bind( increment, std::ref(i) ) ();

  // i has now been incremented.
  std::cout << i << std::endl;
}

Çıkış:

0
1

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CareyHolzman

    CareyHolzman

    24 Ocak 2008
  • macpulenta

    macpulenta

    9 EYLÜL 2006
  • New Scientist

    New Scientis

    27 Kasım 2006