«c++» 태그된 질문

C ++는 범용 프로그래밍 언어입니다. 원래 C에 대한 확장으로 설계되었으며 유사한 구문을 갖지만 이제는 완전히 다른 언어입니다. C ++ 컴파일러로 컴파일 된 코드에 대한 질문에이 태그를 사용하십시오. 특정 표준 개정 [C ++ 11], [C ++ 14], [C ++ 17] 또는 [C ++ 20] 등과 관련된 질문에 버전 별 태그를 사용하십시오.

10
32 비트 루프 카운터를 64 비트로 바꾸면 인텔 CPU에서 _mm_popcnt_u64와 성능 차이가 심해집니다.
popcount대규모 데이터 배열에 가장 빠른 방법을 찾고있었습니다 . 나는 발생하는 매우 이상한 효과를 :에서 루프 변수 변경 unsigned에 uint64_t내 PC에 50 %에 의한 성능 저하를. 벤치 마크 #include <iostream> #include <chrono> #include <x86intrin.h> int main(int argc, char* argv[]) { using namespace std; if (argc != 2) { cerr << "usage: …

11
rvalue, lvalue, xvalue, glvalue 및 prvalue는 무엇입니까?
C ++ 03에서 표현식은 rvalue 또는 lvalue 입니다. C ++ 11에서 표현식은 다음과 같습니다. rvalue lvalue x 값 glvalue prvalue 두 가지 범주가 다섯 가지 범주가되었습니다. 이 새로운 표현 범주는 무엇입니까? 이러한 새 범주는 기존 rvalue 및 lvalue 범주와 어떤 관련이 있습니까? C ++ 0x의 rvalue 및 lvalue 범주는 C …
1356 c++  expression  c++-faq  c++11 


25
C ++에서 가상 함수가 필요한 이유는 무엇입니까?
C ++을 배우고 있으며 가상 기능을 사용하고 있습니다. 내가 읽은 것 (책과 온라인에서)에서 가상 함수는 파생 클래스에서 재정의 할 수있는 기본 클래스의 함수입니다. 그러나이 책의 앞부분에서 기본 상속에 대해 배울 때을 사용하지 않고 파생 클래스의 기본 함수를 재정의 할 수있었습니다 virtual. 그래서 여기서 무엇을 놓치고 있습니까? 나는 가상 기능에 더 …

6
“템플릿”및“typename”키워드를 어디에 그리고 왜 넣어야합니까?
템플릿에서, 어디서, 왜 넣어해야합니까 typename및 template의존 이름을? 어쨌든 종속 이름은 정확히 무엇입니까? 다음 코드가 있습니다. template <typename T, typename Tail> // Tail will be a UnionNode too. struct UnionNode : public Tail { // ... template<typename U> struct inUnion { // Q: where to add typename/template here? typedef Tail::inUnion<U> dummy; …



1
C ++ 17의 새로운 기능은 무엇입니까?
잠김 . 이 질문과 주제는 주제가 다르지만 역사적으로 중요하기 때문에이 질문과 답변은 잠겨 있습니다. 현재 새로운 답변이나 상호 작용을받지 않습니다. C ++ 17은 이제 완전한 기능이므로 큰 변화를 경험할 것 같지 않습니다. C ++ 17에 대한 수백 개의 제안이 제시되었습니다. C ++ 17에서 C ++에 추가 된 기능은 무엇입니까? "C …
1007 c++  standards  c++-faq  c++17 

5
정의되지 않은 동작 및 시퀀스 포인트
"시퀀스 포인트"란 무엇입니까? 정의되지 않은 동작과 시퀀스 포인트의 관계는 무엇입니까? 나는 종종 a[++i] = i;기분이 나아지도록 재미 있고 복잡한 표현을 사용 합니다. 왜 사용을 중단해야합니까? 이 내용을 읽은 경우 후속 질문 Undefined behavior and sequence points reloaded 를 방문하십시오 . (참고 : 이것은 Stack Overflow의 C ++ FAQ에 대한 항목 …



23
switch 문에서 변수를 선언 할 수없는 이유는 무엇입니까?
나는 항상 이것을 궁금해했다-왜 switch 문에서 case label 다음에 변수를 선언 할 수 없습니까? C ++에서는 거의 모든 곳에서 변수를 선언 할 수 있으며 (처음 사용에 가깝게 선언하는 것이 좋습니다) 여전히 다음과 같이 작동하지 않습니다. switch (val) { case VAL: // This won't work int newVal = 42; break; case …

5
C ++ 식별자에서 밑줄을 사용하는 것에 대한 규칙은 무엇입니까?
C ++에서는 지역 변수 또는 매개 변수가 아닌 구성원 변수라는 사실을 나타 내기 위해 접두어를 사용하여 구성원 변수의 이름을 지정하는 것이 일반적입니다. MFC 배경에서 온 경우 아마도을 사용 m_foo합니다. 나는 또한 myFoo때때로 보았다 . C # (또는 .NET)은 밑줄 만 사용하는 것이 좋습니다 _foo. 이것이 C ++ 표준에서 허용됩니까?

6
C ++ 11에서 'typedef'와 'using'의 차이점은 무엇입니까?
C ++ 11에서 s using와 같은 유형 별칭을 쓰는 데 사용할 수 있음을 알고 있습니다 typedef. typedef int MyInt; 내가 이해 한 것에서 다음과 같습니다. using MyInt = int; 그리고 새로운 구문은 " template typedef" 을 표현하는 방법을 찾기위한 노력에서 나왔습니다 . template< class T > using MyType = AnotherType< …


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