Diziler ve yöntemler içeren bir yapıda memcpy kullanmanın güvenli olup olmadığını merak ediyorum (dizilerin endekslenmesi olağandışı olduğundan bazı alıcılar ve ayarlayıcılar olağan dışıdır ve bir şekilde haritalamam gerekir). POD'lar için güvenli olduğunu biliyorum ve yapmamın POD olarak kabul edilip edilmeyeceğinden emin değilim?Dizilerle ve bazı yöntemlerle memcstr yapısında güvenli midir?
cevap
struct
TriviallyCopyable ise memcpy
kullanabilirsiniz.
struct
ürününüzün std::is_trivially_copyable
numaralı ürününü kullanarak kopyalanamaz olup olmadığını kontrol edebilirsiniz. Bir yorumda @JohanLundberg tarafından belirtildiği gibi, hedef adresin 0
modulo std::alignment_of<T>
olması gerekir. http://en.cppreference.com/w/cpp/language/object#Alignment adresindeki nesnelerin hizalama gereksinimleri hakkında daha fazla bilgi edinebilirsiniz.
Yeterli derecede, örn. std :: atomic
Hizalama endişeleri ne durumda? Ayrıca hedefin 0 modulo std :: alignment_of
@JohanLundberg, iyi nokta. –
- 1. Bu dişler güvenli midir?
- 2. PHP exec güvenli midir?
- 3. Chmod 757 güvenli midir?
- 4. , Magento parçacığı güvenli midir?
- 5. Hunspell dişli güvenli midir?
- 6. Konsol.yazı ipliği güvenli midir?
- 7. $ _SERVER ['HTTP_REFERER'] güvenli midir?
- 8. Marangoz dişli güvenli midir?
- 9. ClassLoader iş parçacığı güvenli midir?
- 10. Epoll iş parçacığı güvenli midir?
- 11. Libuv vida dişi güvenli midir?
- 12. dealloc içinde dispatch_async güvenli midir?
- 13. Singleton kullanmak güvenli midir? ExecutorService
- 14. DatagramSocket.send iş parçacığı güvenli midir?
- 15. System.ServiceModel.Channels.BufferManager iş parçacığı güvenli midir?
- 16. putStrLn iş parçacığı güvenli midir?
- 17. Trove kütüphanesi iplik güvenli midir?
- 18. gen_tcp: accept/1 güvenli midir?
- 19. sanal ve soyut yöntemlerle İşte
- 20. SQLalchemy'ı gevent ile kullanmak güvenli midir?
- 21. Yıkıcıya katılarak eşzamansız çalışmayı beklemek güvenli midir?
- 22. Doğrudan django uygulamanızda ._meta'ya erişmek güvenli midir?
- 23. MaC# doFinal() java'da iş parçacığı güvenli midir?
- 24. std :: wstring_convert dizisinin üye işlevleri güvenli midir?
- 25. Çıkarım servisinde tf.Session kullanırken thread güvenli midir?
- 26. GAE görevi, tasarımlara göre güvenli midir?
- 27. javax.xml.ws.Service nesnelerini yeniden kullanmak güvenli midir?
- 28. Bu statik yöntem iplik güvenli midir?
- 29. Tweet ID'lerini BIGINTs olarak saklamak güvenli midir?
- 30. IntelliJ'in sistem dizini silmek güvenli midir?
* Sanal olmayan * üye işlevleri, evet. Https://isocpp.org/wiki/faq/intrinsic-types#pod-types sayfasına bakın. – dxiv