Perguntas com a marcação «explicit»

2
Por que #include <string> está impedindo um erro de estouro de pilha aqui?
Este é o meu código de exemplo: #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; } …

1
Um operador de elenco pode ser explícito?
Quando se trata de construtores, adicionar a palavra-chave explicitevita que um compilador entusiasmado crie um objeto quando essa não era a primeira intenção do programador. Esse mecanismo também está disponível para operadores de fundição? struct Foo { operator std::string() const; }; Aqui, por exemplo, gostaria de ser capaz de lançar …

3
qual é o caso de uso explícito (bool)
O C ++ 20 introduziu explícito (bool) que seleciona condicionalmente em tempo de compilação se um construtor é explicitado ou não. Abaixo está um exemplo que eu encontrei aqui . 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) {} }; …
24 c++  c++20  explicit 
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.