2016-04-03 21 views
5

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?

+0

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. –

+0

@GeorgeSovetov Sorun şu ki, 'fikirler' konu dışıdır (_preli görüşe dayalı_ kategori). – edmz

+4

Erken ve sık sık. Ve pazar günleri iki kez. – wally

cevap

6

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.

İlgili konular