«explicit» etiketlenmiş sorular

2
#İnclude <string> burada bir yığın taşması hatasını neden önlüyor?
Bu benim örnek kodum: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class MyClass { string figName; public: MyClass(const string&amp; s) { figName = s; } const string&amp; getName() const { return figName; } }; ostream&amp; operator&lt;&lt;(ostream&amp; ausgabe, const MyClass&amp; f) { ausgabe &lt;&lt; f.getName(); return ausgabe; } int main() { …

1
Bir döküm operatörü açık olabilir mi?
Yapıcılar söz konusu olduğunda, anahtar kelimeyi eklemek, explicithevesli bir derleyicinin programcının ilk niyeti olmadığında bir nesne oluşturmasını engeller. Böyle bir mekanizma döküm operatörleri için de mevcut mu? struct Foo { operator std::string() const; }; Burada, örneğin, Foobir atım yapabilmek isterdim std::string, ancak böyle bir rolün örtük olarak gerçekleşmesini istemiyorum.

3
müstehcen (bool)
C ++ 20, bir kurucunun açık yapılıp yapılmadığını koşullu olarak derleme zamanında seçen açık (bool) tanıtır . Aşağıda burada bulduğum bir örnek var . struct foo { // Specify non-integral types (strings, floats, etc.) require explicit construction. template &lt;typename T&gt; explicit(!std::is_integral_v&lt;T&gt;) foo(T) {} }; foo a = 123; // OK …
24 c++  c++20  explicit 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.