2017-09-27 12 views
6

C++ standart olduğu muteks, atomics belirtir veya standart Düzen türünün conditinal_variable bulunmaktadır."Kara kutu" tipleri için standart mizanpaj garantilerinin amacı nedir?

Bu şartnamenin faydası nedir? Bir kullanıcı bu özellikten nasıl yararlanabilir?

Genel olarak, bir tür bilginin, uygulamanın detaylarını bilmeden standart düzen olması durumunda ne kazanabilirdim?

+0

Standart bir düzen tipi daha kolay diğer dillere göre tüketilebilir. – Bathsheba

+0

@Bathsheba Diğer dil de C++ olduğunda? ;) – curiousguy

cevap

1

Kodunuzun diğer programlarla konuşmasını farklı Programlama Dilleri sizinkinden yazabilirsiniz.

ref C++ concepts: StandardLayoutType bahseder:

Standart düzen tipleri diğer programlama dillerinde yazılmış kod ile iletişim kurmak için yararlıdır. this standard layout reference itibaren

+0

'std :: offsetof' \ o/ – YSC

+0

'yu kullanabilirsiniz. Bu @YSC [soru] (https://stackoverflow.com/questions/20170578/offsetof-on-standard-layout-class)? – gsamaras

+0

Standart düzen sınıfı üyeleri arasında bir dolgu olup olmadığını bilmiyorum. Düzenleme gerektirmese bile derleyici, üyeler arasında dolgu eklemesine izin veriliyor mu? – Oliv

2

:

Standart düzen tipleri diğer programlama dillerinde yazılmış kod ile iletişim kurmak için yararlıdır.

karışık bir C ve C++ uygulama oluşturmak Örneğin, C yapıları standart düzen olacak ve C ile yazılmış parça ve C++ ile yazılmış parçalar arasında dönüşümlü olarak kullanılabilir. Bu, işletim sistemi yerel işlevlerini ve yapılarını kullanabilmek için genellikle çok önemlidir.

+0

Güzel cevap ile iletişim kurmak için bir standart düzen yapı kullandığınız bir EXEMPLE verdi eğer bana yardım edeceğini ProgrammerDude gelince – gsamaras

+0

Gerçekten nasıl bir örnek verirsem bana nasıl yardımcı olacağını görmüyorum? – Oliv

+0

@Oliv C için yazılmış birçok kitaplık var. C++ uygulamanızda bu kitaplıklardan birini kullanmak isterseniz ne olur? C kütüphanesinin bir yapısı nedir? Bu yapı * standart düzen * olacağından, C++ programınızda bunun örneğini oluşturabilir ve işaretleyicileri C kütüphanesi işlevlerine (hatta örnek kopyalarını) geçirebilirsiniz. Aksi muteksin standart düzeni sahip olmanın anlamı nedir, –