«explicit» 태그된 질문

2
#include <string>이 ​​여기서 스택 오버플로 오류를 방지하는 이유는 무엇입니까?
이것은 내 샘플 코드입니다. #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
캐스트 연산자가 명시적일 수 있습니까?
생성자에있어서 키워드를 추가 explicit하면 프로그래머가 처음 의도하지 않았을 때 열광적 인 컴파일러가 객체를 생성하지 못합니다. 캐스팅 오퍼레이터도 그러한 메커니즘을 사용할 수 있습니까? struct Foo { operator std::string() const; }; 여기에, 예를 들어, 나는 캐스트 수 있도록하고 싶습니다 Foo에 std::string,하지만 난 암시 적으로 발생하는 이러한 캐스트를 원하지 않는다.

3
명시 적 (bool)의 유스 케이스는 무엇입니까
C ++ 20은 생성시 명시 적 으로 여부를 컴파일 타임에 조건부로 선택하는 명시 적 (bool) 을 도입했습니다 . 아래는 내가 발견 한 예입니다 여기가 . 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; // …
24 c++  c++20  explicit 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.