C++ 14/11 hakkında bir kitap okuyordum. Constexpr anahtar kelimesi hakkında bir bölüm okumayı bitirdim. Ne için kullanıldığını biliyorum. Sınıflarda ve sınıf üyesi işlevlerinde nasıl kullanılabileceğini anladım. Ancak, ne sıklıkla constexpr kullanmalıyım? Kontstexpr nesneleri oluşturmak için asla kullanılmayacağını bildiğim sınıflar için kodda bile kullanmalı mıyım? (Sadece durumda, bana bir şeye mal olmadığından, değil mi?)C++ 14 Constexpr ne sıklıkla kullanmalıyım?
cevap
C++ 14 Constexpr ne sıklıkta kullanmalıyım?
öğe 15 Scott Meyer's kitabın Effective Modern C++ arasında (Kullanım constexpr Mümkün) geniş bir tartışma var.
Bu öğenin ana hatları mümkün olduğunca constexpr
nedeniyle constexpr
fonksiyonları ve nesneler olmayan constexpr
olanlardan daha bağlamlarda geniş bir yelpazede kullanılabilecek olması nedeniyle, kullanılması gereken olmasıdır. Bununla birlikte, aynı üründe, yazar, constexpr
'un aşırı ısınmasına dair bir uyarıdan bahsetmektedir. Yani, bir nesneyi veya bir işlevi constexpr
olarak nitelendirmeye karar verirseniz, müşterilerinizin constexpr
içeriğinde kullanmasına izin verilir. Ancak, daha sonra bu kodun constexpr
olmamasına ve constexpr
kaldırılmasına karar verirseniz, bu, kodunuzun istemcilerinizde yapacağınız yan etkiler de dahil olmak üzere derlenmemesine neden olabilir. Orijinal metinden aktaran
:
“Kullanım constexpr Mümkün” Eğer için geçerli bu nesnelere yüklediği kısıtlamaları ve işlevlerine uzun vadeli taahhüt yapmak isteğidir.
- 1. GC ne sıklıkla uygulanır?
- 2. NSUserDefaults ne sıklıkla senkronize edilir?
- 3. Temel Verilere ne sıklıkla kaydetmeliyim?
- 4. sscanf yerine ne kullanmalıyım?
- 5. com.google.appengine.repackaged * yerine ne kullanmalıyım?
- 6. Oturum yerine ne kullanmalıyım?
- 7. Bunu ne sıklıkla bir cronda yaparsınız? - 0 * * * *
- 8. Python bir dosyaya ne sıklıkla akıyor?
- 9. Market uygulama istatistikleri ne sıklıkla güncellenir?
- 10. C++ 14: üçlü ifadelerle Constexpr'ten çıkarılan (otomatik) dönüş türleri
- 11. C++ 17 make_optional constexpr-ness
- 12. _aligned_malloc() işlevini ne zaman kullanmalıyım?
- 13. Perl'de printf yerine ne kullanmalıyım?
- 14. std :: bind ne zaman kullanmalıyım?
- 15. ImageButton veya Button'ı ne kullanmalıyım?
- 16. Git user.name için ne kullanmalıyım?
- 17. Constexpr işlev şablonları ne zaman başlatılır?
- 18. Objective-C yöntem adlarında "ve" ne zaman kullanmalıyım?
- 19. PHP: memory_get_peak_usage (false), ne zaman kullanmalıyım?
- 20. C++ tipi adlarını constexpr biçiminde alabilir miyim?
- 21. Genel/özel/statik yöntemleri ne zaman kullanmalıyım?
- 22. C++ 11 constexpr fonksiyonu geçiş parametresi
- 23. C++ 14 destek Clang ile QtCreator
- 24. C++ 14 kısıtlanmamış genel işlevleri destekleyecek mi?
- 25. CLion'da C++ 14 desteğini etkinleştirin mi?
- 26. C++ 14 Bir Toplama Sırasındaki Tekdüzen Başlatma
- 27. Eclipse'te C++ 14 sözdizimi denetimi etkinleştirin
- 28. Linux'ta dosya açtığımda O_CLOEXEC'i ne zaman kullanmalıyım?
- 29. JavaScript'te MVC framework'ü ne zaman kullanmalıyım?
- 30. @JoinColumn'u veya @JoinTable'ı Ne Zaman Kullanmalıyım?
Görüşleriniz için. Benim açımdan bakış açımdan, bunu olabildiğince sık kullanmalısın. Birisi farklı düşüncelere sahip olabilir. –
@GeorgeSovetov Sorun şu ki, 'fikirler' konu dışıdır (_preli görüşe dayalı_ kategori). – edmz
Erken ve sık sık. Ve pazar günleri iki kez. – wally