SORU
11 Mart 2015, ÇARŞAMBA


Neden? sadece bir foo nesne yok mu?

Aşağıdaki örnek kodu var:

#include <iostream>
using namespace std;

struct foo {
    foo()  { cout << "foo constructed.\n"; }
    ~foo() { cout << "foo destroyed.\n"; }
};

struct bar {
    bar(foo t=foo{}) { }
};

int main(int argc, char **argv) {
    bar X[2]{};
    return 0;
}

Ben çınlama ile derlerken -std=c 11 test.cc program aşağıdaki çıktıyı üretir:

foo constructed.
foo constructed.
foo destroyed.

ama bir ek bekliyordum "foo yok." ikisi arasında "inşa foo" satırları.. Neden sadece bir foo yok edilir? Bu çınlama 3.5.1 yanı sıra 3.6.0 ile olur.

CEVAP
11 Mart 2015, ÇARŞAMBA


Test tüm insanlar için teşekkürler! Bu çınlama bir hata gibi görünüyor. Eğer birisi llvm.org bildirirse memnun olurum. Birkaç böcek bu tecrübeyi tekrar yaşamak isteyen ben değilim demek ki, gerçekten yararlı olmasın, raporlar vardı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008
  • jpmkm1

    jpmkm1

    4 NİSAN 2008
  • WhtButterflyLiz

    WhtButterfly

    14 NİSAN 2008