SORU
25 Aralık 2013, ÇARŞAMBA


Neden't std::başka taşınacak?

Açıkça, dere kopyalanamaz. Akarsu taşımak mümkün olmalıdır. 27.9.1.11 [ofstream göre.cons] mümkündür paragraf oluşturmak 4 std::ofstream. bir hareket Örneğin:

#include <iostream>
#include <fstream>

std::ofstream makeStream(std::string const& name) {
    return std::ofstream(name);
}

int main()
{
    std::ofstream out{ makeStream("example.log") };
}

İlerlemeye çalışıyorum std::ostream, örneğin, bir fabrika işlevi oluşturur std::ofstream std::ostringstream veya başka bir akarsu göre bir VAZO geçirilen bir bağımsız değişken çalışmıyor. std::ostream (std::basic_ostream gerçekten sınıf şablonu) protected bir hareket 27.7.3.1 [başka] göre kurucusu vardır.

Neden mi std::ostream taşınmış olabilir.

CEVAP
25 Aralık 2013, ÇARŞAMBA


Aslında hareketli olduklarını. Bu benim açımdan sorun çıkıyor, ve Alberto Ganesh Erkekler tarafından keşfedilmiş olduğu ortaya çıktı:

http://cplusplus.github.io/LWG/lwg-defects.html#911

Sorun ostream taşındı ve ya takas/alır birkaç örnek gösterir ve sonuçlar şaşırtıcı, yerine bekleniyor. Bu tür kamuya hareketli ne de bu sorundan değiştirilebilir olması gerektiğini ikna oldu.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DanceOn

    DanceOn

    6 Mayıs 2006
  • Fuse

    Fuse

    21 Kasım 2005
  • wwjoshdew

    wwjoshdew

    1 AĞUSTOS 2007