«c++11» 태그된 질문

C ++ 11로 컴파일해야하는 코드에이 태그를 사용하십시오 (C ++ 14 이상에서 도입 된 기능을 사용하지 않음).

4
auto &&는 무엇을 알려줍니까?
당신이 같은 코드를 읽는다면 auto&& var = foo(); 여기서 footype 값으로 반환되는 함수가 T있습니다. 그런 다음 varrvalue 참조 유형의 lvalue는 T입니다. 그러나 이것은 무엇을 의미 var합니까? 우리의 자원을 훔칠 수 있다는 의미 var입니까? 독점 소유권을 가지고 있음을 알리기 위해 auto&&a unique_ptr<>를 반환 할 때와 같이 코드를 독자에게 알리기 위해 사용해야하는 …

6
Qt Creator에서 C ++ 11을 활성화하는 방법은 무엇입니까?
제목은 꽤 자기 묘사 적입니다. Qt Creator 2.7.0을 다운로드했으며 기본 C ++ 11 코드를 컴파일하려고합니다. int my_array[5] = {1, 2, 3, 4, 5}; for(int &x : my_array) { x *= 2; } 다음과 같은 오류가 발생합니다. range based for loops are not allowed in c++ 98 mode 그러나이 기사 에 …
167 c++  qt  c++11 

8
const 참조로 람다 캡처?
람다 식에서 const 참조로 캡처 할 수 있습니까? 예를 들어 아래 표시된 과제가 실패하고 싶습니다. #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { string strings[] = { "hello", "world" }; static const size_t num_strings = sizeof(strings)/sizeof(strings[0]); string best_string = "foo"; for_each( &strings[0], &strings[num_strings], [&best_string](const …
166 c++  c++11  lambda  c++14 

3
함수 서명에서 std :: enable_if를 피해야하는 이유
Scott Meyers는 다음 책 EC ++ 11의 내용과 상태 를 게시 했습니다. 그는이 책의 한 항목은 " std::enable_if기능 서명을 피하십시오 "라고 썼다 . std::enable_if 함수 인수, 반환 형식 또는 클래스 템플릿 또는 함수 템플릿 매개 변수로 사용하여 오버로드 확인에서 함수 또는 클래스를 조건부로 제거 할 수 있습니다. 이 질문 에는 …

11
강력한 형식의 열거 형을 int로 자동 변환하는 방법은 무엇입니까?
#include <iostream> struct a { enum LOCAL_A { A1, A2 }; }; enum class b { B1, B2 }; int foo(int input) { return input; } int main(void) { std::cout << foo(a::A1) << std::endl; std::cout << foo(static_cast<int>(b::B2)) << std::endl; } 그만큼 a::LOCAL_A 강력한 형식의 열거 형이 달성하려고하는 것이지만 약간의 차이가 …

6
가상 함수가 기본 매개 변수를 가질 수 있습니까?
기본 클래스 (또는 인터페이스 클래스)를 선언하고 하나 이상의 매개 변수에 대한 기본값을 지정하면 파생 클래스가 동일한 기본값을 지정해야하며 그렇지 않은 경우 파생 클래스에서 어떤 기본값이 나타 납니까? 부록 : 또한이 시나리오에서 다른 컴파일러와 "권장"실습에 대한 입력을 처리하는 방법에 관심이 있습니다.
164 c++  c++11  c++03 


3
문자열 상수에서 'char *'로의 변환이 C에서는 유효하지만 C ++에서는 무효 인 이유
C ++ 11 표준 (ISO / IEC 14882 : 2011)의 내용은 다음과 § C.1.1같습니다. char* p = "abc"; // valid in C, invalid in C++ C ++의 경우 문자열 리터럴에 대한 포인터는 수정하려고하면 충돌이 발생하기 때문에 유해합니다. 그러나 C에서 왜 유효합니까? C ++ 11도 말합니다 : char* p = (char*)"abc"; …
163 c++  c  string  c++11  char 

7
표준 :: 기능 대 템플릿
C ++ 11 덕분 std::function에 functor 래퍼 제품군을 받았습니다 . 불행히도, 나는 이러한 새로운 추가 사항에 대한 나쁜 것들만을 계속 듣고 있습니다. 가장 인기있는 것은 그들이 엄청 느리다는 것입니다. 나는 그것을 테스트했으며 템플릿과 비교할 때 정말 빨랐습니다. #include <iostream> #include <functional> #include <string> #include <chrono> template <typename F> float calc1(F …


2
반원을위한 스마트 포인터 사용
C ++ 11의 클래스 멤버로 스마트 포인터의 사용법을 이해하는 데 문제가 있습니다. 나는 스마트 포인터에 대해 많이 읽었으며 나는 방법을 이해하는 것 같아요 unique_ptr및 shared_ptr/ weak_ptr일반적으로 작업을. 내가 이해하지 못하는 것은 실제 사용법입니다. 모든 사람들 unique_ptr이 거의 항상가는 길로 사용 하는 것이 좋습니다 . 그러나 어떻게 이런 식으로 구현할 것입니까? …


6
람다에서 캡처 이동
C ++ 11 람다에서 이동 (rvalue 참조라고도 함)으로 어떻게 캡처합니까? 다음과 같이 쓰려고합니다. std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4; };

7
멤버 함수를 조건부로 컴파일하기위한 std :: enable_if
사용법을 이해하기 위해 간단한 예제를 얻으려고합니다 std::enable_if. 이 답변을 읽은 후 간단한 예를 제시하기가 너무 어렵지 않아야한다고 생각했습니다. std::enable_if두 멤버 함수 중에서 선택하고 그중 하나만 사용할 수 있도록 사용하고 싶습니다 . 불행히도, 다음은 gcc 4.7로 컴파일되지 않으며 몇 시간 동안 노력한 후에 너희들에게 내 실수가 무엇인지 묻고있다. #include <utility> #include …
156 c++  templates  g++  c++11 

3
언제 std :: forward를 사용하여 인수를 전달합니까?
C ++ 0x는 다음을 사용하는 예를 보여줍니다 std::forward. template<class T> void foo(T&& arg) { bar(std::forward<T>(arg)); } 언제 사용하는 것이 유리 std::forward합니까? 또한 &&매개 변수 선언 에 사용해야 합니다. 모든 경우에 유효합니까? 함수가 선언 된 경우 임시 함수를 함수에 전달해야한다고 생각 &&했으므로 매개 변수로 foo를 호출 할 수 있습니까? 마지막으로 다음과 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.