Yana düşük seviyeli nesne manipülasyonu için nesnelerin P0593 Örtülü oluşturulması kabul edilmiştir, nesneler artık oluşturulabilir dolaylı 20 C ++.
Özellikle önerisi getirdiği ifade (örneğin belirli operasyonlar verir std::malloc
otomatik olarak) belirli tipte nesnelerin ömrünü, sözde oluşturmak ve başlatmak örtük-ömür türleri , eğer böyle nesnelerin tanıtımı için aksi tanımsız davranışı ile bir program neden olur tanımlanmış davranış. Bkz. [İntro.object] / 10 .
Taslak şimdi ayrıca, program tanımlı davranışı vermek için dolaylı olarak oluşturulabilecek bu tür nesnelerin birden çok kümesi varsa , bu kümelerden hangisinin oluşturulacağını belirtmektedir . (İlgili cümle erişebildiğim son teklif revizyonunda mevcut görünmüyor, R5, ancak taslak taahhütte.)
Aslında, örtük olarak oluşturulan bu nesne kümesi seçiminin gözlemlenebilir olduğu bir program var mı? Başka bir deyişle, bu yeni kural aracılığıyla tanımlanmış, ancak belirtilmemiş bir davranışa sahip bir program var mı, öyle ki, örtük nesne türlerinin (birden fazla olası nesneden) oluşturulmuş çıktıdan çıkması mümkün mü?
Yoksa bu cümle sadece soyut makinede programın yürütülmesini açıklığa kavuşturmak mıydı (gözlemlenebilir etki olmadan)?
std::malloc
) gerçekleşiyorsa, aksi takdirde tanımla ilgili sorunlar yaşarsınız. geleceğe bağlı olmak.