Bu standart neden bu farkı yaratıyor? Her ikisi de aynı şekilde, bir atomik tip olarak belirir gibi görünmektedir._Atomic type niteleyici ve type specifier arasında bir fark var mı?
cevap
Atom tipi belirticilere: - :)
Syntax: _Atomic (type-name);
Böyle bir atom tamsayı bildirebilirsiniz:
_Atomic(int) counter;
_Atomic
kelime T biçiminde _Atomic(T)
, kullanılabilir _Atomic
T'ye eşdeğer bir tür belirteci olarak bir tür. Böylece, _Atomic(T) x, y;
, T bir işaretçi türü olsa bile, x ve y aynı türde olduğunu bildirir. Bu, bir C++ sadece _Atomic(T)
makro tanımının atomik olarak önemsiz C++ 0x uyumluluğu sağlar. Uygulama atomik türleri desteklemiyorsa, atomik türdeki belirticiler kullanılmamalıdır. Bir atomik tür belirticideki tür adı, bir dizi türüne, bir işlev türüne, bir atomik türüne veya nitelikli bir türe ait olmamalıdır.
Atomik türlerle ilişkili özellikler yalnızca lvalues olan ifadeler için anlamlıdır.
If the _Atomic keyword is immediately followed by a left parenthesis, it is interpreted as a type specifier (with a type name), not as a type qualifier.
atom tipi kalifiye: - :)
_Atomic volatile int *p;
olan atıfta bulunulan tipteki bir amacı, tip sınırlamak nitelikli olmayacaktır işaretçi türleri dışında
It specifies that p has the type ‘‘pointer to volatile atomic int’’, a pointer to a volatile-qualified atomic type.
türleri. _Atomic
nitelendiricisi tarafından değiştirilen tür, bir dizi tipi veya işlev tipi olmayacaktır. Kalifiye türlerle ilişkili özellikler yalnızca lvalues olan ifadeler için anlamlıdır. Aynı niteleyici niteleyici listesinde aynı niteleyici listesinde, doğrudan veya bir veya daha fazla yazım hatasıyla birden fazla görüntüleniyorsa, davranış, yalnızca bir kez göründüğü gibi aynıdır. Üste | Diğer niteleyiciler, bir niteleyici niteleyici listesinde _Atomic
niteleyici ile birlikte görünürse, sonuç türü, nitelikli atomik türdür.
_Atomic
anahtar kelimesi, yalnızca tür niteleyici olarak kullanılır. Bir uygulamacının, döküm operatörü de dahil olmak üzere, uygun dönüşümler yapıldığı sürece, karşılık gelen atomik olmayan tipte aynı temsili ve hizalama ihtiyacını gevşetmesine izin verilir.
Evet. Bir fark var. Bu tür belirleyici olarak kullanıldığı zaman, daha sonra standart kısıtlamak (6.7.2.4 s (3)) olarak:
atomik tür belirleyici olarak tür adı bir dizi türü atıfta eder, bir işlev türü , bir atomik tip veya nitelikli bir tür.Örneğin
typedef int arr[5];
arr
_Atomic
eleme gibi kullanılır, fakat _Atomic
(gibi _Atomic (arr)
) tür belirleyici olarak kullanıldığı takdirde tür adı olarak kullanılamaz bir tür adı
- 1. İşaretçiyi tanımlarken neden "type & var" yerine "type * var" kullanırız?
- 2. MongoDB ve DateTimeOffset type
- 3. 'Content-Type' ve JSON
- 4. [Type: Type?] Türünde bir anahtar kelime olup olmadığını kontrol edin
- 5. Generic type
- 6. Aşağıdakiler arasında herhangi bir fark var mı: window.localStorage ve localStorage?
- 7. Guice @provides ve bind() arasında bir fark var mı?
- 8. $ (e.currentTarget) ve $ (this) arasında bir fark var mı?
- 9. /mnt/sdcard ve/sdcard arasında bir fark var mı?
- 10. System.Windows.Clipboard ve System.Windows.Forms.Clipboard arasında bir fark var mı?
- 11. Arasında bir fark var mı? ve * cron ifadelerinde? Garip örnek
- 12. Javascript'te "this" ve "prototype" kullanımı arasında bir fark var mı?
- 13. gluLookAt() ve glFrustum() arasında bir fark var mı?
- 14. WPF TextBlock ve TextBox arasında bir fark var mı?
- 15. TParallel. & For ve TParallel.For arasında bir fark var mı?
- 16. Varyant() ve varyant arasında bir fark var mı?
- 17. TypeScript type guard Oddity
- 18. Normalde Express'te değişkenler arasında fark var mı?
- 19. JAXB: package.package. <Type>, package.package dosyasında tanımlanmıştır. <Type>. <Type>
- 20. Resimden ölçekleme [type = dosya]
- 21. PHP type-hinting özellikleri
- 22. "frameworkname" -Swift.h'deki genel sınıflar, "Type name, bir belirtici veya niteleyici gerektirir" hatasını Xcode 6.3'te bildiriyor.
- 23. GHC: phantom type parametresi
- 24. VLookup type yöntemi R
- 25. WSDL2Java. Apache CXF. ArrayOf {Type} - Liste <Type>
- 26. graphQL - type Çıktısı alın
- 27. Doğru değil <type>?
- 28. BLOB'lar ve bağlı bileşenler arasında fark var mı?
- 29. XML Nasıl 'Type' Serileştirilir
- 30. "Blok" -type şablon işlevleri
olabilir http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1485.pdf, bu son C11 standardından daha fazla bilgi içeriyor. – nos
http://stackoverflow.com/questions/10668941/c11-grammar-ambiguity-between-atomic-type-specifier-and-qualifier – CinCout