«auto» 태그된 질문

`auto` 키워드는 추론 된 유형을 위해 C ++ 11에서 용도가 변경되었습니다. 초기화 된 변수 선언에서 유형 이름을 대체하는 데 사용되는 경우 변수에는 이니셜 라이저와 동일한 유형이 제공됩니다. 반환 유형으로 사용되는 경우 반환 유형은 후행 반환 유형으로 지정되거나 return-expression에서 추론됩니다.

7
'auto'키워드를 명시 적으로 작성해야하는 이유는 무엇입니까?
저는 C ++ 98에서 C ++ 11로 이동하고 있으며 auto키워드에 익숙해 졌습니다. auto컴파일러가 유형을 자동으로 추론 할 수 있는지 명시 적으로 선언해야하는 이유가 궁금 합니다. 나는 C ++가 강력한 형식의 언어라는 것을 알고 있으며 이것은 규칙이지만 명시 적으로 변수를 선언하지 않고는 동일한 결과를 얻을 수 없었 auto습니까?
80 c++  c++11  auto 

1
함수 매개 변수의 템플리트 인수 자리 표시자인 'auto'
C ++ 20에서는 auto함수 매개 변수 유형을 사용할 수 있습니다 . 또한 사용 수 있습니까 auto템플릿 인수 자리 표시 자 (유사하지 만의 정신에서 C ++ 17 템플릿 <자동> 방식) 함수의 매개 변수 유형을 검색 하시나요? 따라서 C ++ 20 이전 코드는 다음과 같습니다. template<typename First, typename Second> void printPair(const std::pair<First, …
22 c++  templates  auto  c++20 

6
C ++에서 오버로드 된 생성자를 통해 알 수없는 유형의 변수 초기화
주로 파이썬 배경에서 나오기 때문에 C ++에서 유형 작업에 다소 어려움을 겪었습니다. 다른 유형을 매개 변수로 사용하는 여러 오버로드 된 생성자 중 하나를 통해 클래스 변수를 초기화하려고합니다. auto키워드 를 사용하여 변수의 자동 선언에 사용할 수 있지만 내 경우에는 생성자를 선택할 때까지 초기화되지 않습니다. 그러나 컴파일러는 초기화하지 않는 것에 만족하지 않습니다 …

1
std :: pair <auto, auto> 반환 유형
에서 놀고 auto있었습니다 std::pair. 아래 코드에서 함수 f는 std::pair템플릿 매개 변수에 따라 유형 중 하나를 반환해야합니다 . 실제 예 : 실시 예 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else if constexpr (S == 2) return std::pair{1.0, 2.0}; …

2
다른 C ++ 컴파일러간에 자동 유형이 일치하지 않습니다.
그래서 현대 C ++의 풍미로 내적 제품 ( https://en.wikipedia.org/wiki/Dot_product ) 을 구현하려고 시도 하고 다음 코드를 생각해 냈습니다. #include &lt;iostream&gt; template&lt;class... Args&gt; auto dot(Args... args) { auto a = [args...](Args...) { return [=](auto... brgs) { static_assert(sizeof...(args) == sizeof...(brgs)); auto v1 = {args...}, i1 = v1.begin(); auto v2 = {brgs...}, i2 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.