«c++» 태그된 질문

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

8
열거 형 유형에 대한 네임 스페이스-모범 사례
종종 여러 개의 열거 형이 함께 필요합니다. 때로는 이름 충돌이 있습니다. 이에 대한 두 가지 해결책이 떠 오릅니다. 네임 스페이스를 사용하거나 '더 큰'열거 형 요소 이름을 사용하는 것입니다. 그럼에도 불구하고 네임 스페이스 솔루션에는 두 가지 구현이 가능합니다. 하나는 중첩 된 열거 형이있는 더미 클래스 또는 완전한 네임 스페이스입니다. 세 가지 …
102 c++  enums  scope  nested 

7
C int 배열을 0으로 재설정 : 가장 빠른 방법?
T myarray[100]with T = int, unsigned int, long long int 또는 unsigned long long int 가 있다고 가정하면 모든 내용을 0으로 재설정하는 가장 빠른 방법은 무엇입니까 (초기화뿐만 아니라 내 프로그램에서 내용을 여러 번 재설정) ? 아마도 memset과 함께? 같은 동적 배열에 대한 동일한 질문입니다 T *myarray = new T[100].
102 c++  c  arrays  memset 

7
정적 필드가 상속됩니까?
정적 멤버가 상속되면 전체 계층 구조 또는 해당 클래스에 대해 정적입니다. 즉 : class SomeClass { public: SomeClass(){total++;} static int total; }; class SomeDerivedClass: public SomeClass { public: SomeDerivedClass(){total++;} }; int main() { SomeClass A; SomeClass B; SomeDerivedClass C; return 0; } 세 가지 경우에 3 일 총 것, 또는 …
102 c++  inheritance  static 

2
값으로 C ++ 0x 람다 캡처 항상 const?
값으로 캡처하고 캡처 된 값을 상수가 아닌 값으로 만드는 방법이 있습니까? 상수가 아니지만 그래야하는 메서드를 캡처 및 호출하고 싶은 라이브러리 펑터가 있습니다. 다음은 컴파일되지 않지만 foo :: operator () const로 수정합니다. struct foo { bool operator () ( const bool & a ) { return a; } }; int _tmain(int …
102 c++  lambda  const  c++11 

2
"바이트 수"를 0으로 설정하여 memcpy () 및 memmove ()를 호출 할 수 있습니까?
나는 actully 이동에 아무것도 없을 때 내가 함께 복사 / 치료의 경우에 필요합니까 memmove()/memcpy() 에지의 경우와 같은 int numberOfBytes = ... if( numberOfBytes != 0 ) { memmove( dest, source, numberOfBytes ); } 또는 확인하지 않고 함수를 호출해야 int numberOfBytes = ... memmove( dest, source, numberOfBytes ); 이전 스 니펫의 …
102 c++  c  pointers  memcpy  memmove 

4
null 참조가 가능합니까?
이 코드 조각이 유효합니까 (그리고 정의 된 동작)? int &nullReference = *(int*)0; 둘 다 g ++ 및 그 소리 ++ 컴파일을 경고없이 사용하는 경우에도 -Wall, -Wextra, -std=c++98, -pedantic, -Weffc++... 물론 참조는 액세스 할 수 없기 때문에 실제로는 null이 아니지만 (null 포인터를 역 참조하는 것을 의미합니다) 주소를 확인하여 null인지 여부를 확인할 …

3
shared_ptr <Base>를 shared_ptr <Derived>로 다운 캐스팅 하시겠습니까?
업데이트 : 이 예제의 shared_ptr은 Boost의 것과 비슷하지만 shared_polymorphic_downcast (또는 해당 문제에 대해 dynamic_pointer_cast 또는 static_pointer_cast)를 지원하지 않습니다! 참조 횟수를 잃지 않고 파생 클래스에 대한 공유 포인터를 초기화하려고합니다. struct Base { }; struct Derived : public Base { }; shared_ptr&lt;Base&gt; base(new Base()); shared_ptr&lt;Derived&gt; derived; // error: invalid conversion from 'Base* …
102 c++  gcc  boost 

6
문자열 c_str () 대 data ()
c_str()와 data()(STL 및 기타 구현에서) 의 차이점 c_str()은 항상 null로 종료되는 반면 data()그렇지 않은 경우 여러 곳을 읽었습니다 . 내가 실제 구현에서 본 한, 그들은 동일하거나 data()호출합니다 c_str(). 내가 여기서 무엇을 놓치고 있습니까? 어떤 시나리오에서 사용하는 것이 더 정확합니까?
102 c++  stl  c-str 

1
이미지를 ASCII 아트로 변환
프롤로그 이 주제는 때때로 스택 오버플로에서 여기에 표시되지만 일반적으로 잘못 작성된 질문 때문에 제거됩니다. 나는 그러한 질문을 많이 보았고 추가 정보가 요청되면 OP (일반적으로 낮은 응답)에서 침묵했습니다 . 때때로 입력이 나에게 충분하다면 나는 대답으로 응답하기로 결정하고 일반적으로 활성화 된 동안 하루에 몇 개의 찬성표를 얻지 만 몇 주 후에 질문이 …

2
libc ++에서 짧은 문자열 최적화의 메커니즘은 무엇입니까?
이 답변 은 짧은 문자열 최적화 (SSO)에 대한 멋진 고급 개요를 제공합니다. 그러나 실제로 libc ++ 구현에서 어떻게 작동하는지 더 자세히 알고 싶습니다. SSO 자격을 얻으려면 문자열이 얼마나 짧아야합니까? 이것은 대상 아키텍처에 따라 달라 집니까? 구현시 문자열 데이터에 액세스 할 때 짧은 문자열과 긴 문자열을 어떻게 구분합니까? m_size &lt;= 16다른 …

4
C 코드에서 C ++ 라이브러리 사용
데이터 관리를위한 다양한 클래스를 제공하는 C ++ 라이브러리가 있습니다. 라이브러리의 소스 코드가 있습니다. 라이브러리를 C 코드와 C ++ 코드와 동시에 사용할 수 있도록 C 함수 호출을 지원하도록 C ++ API를 확장하고 싶습니다. GNU 도구 체인 (gcc, glibc 등)을 사용하고 있으므로 언어 ​​및 아키텍처 지원이 문제가되지 않습니다. 이것이 기술적으로 불가능한 이유가 …
102 c++  c  gcc  glibc 


16
C ++를 사용하여 나노초 단위로 시간을 제공하는 타이머 기능
API가 값을 반환하는 데 걸린 시간을 계산하고 싶습니다. 그러한 행동에 걸리는 시간은 나노초의 공간입니다. API가 C ++ 클래스 / 함수이므로 timer.h를 사용하여 동일하게 계산합니다. #include &lt;ctime&gt; #include &lt;cstdio&gt; using namespace std; int main(int argc, char** argv) { clock_t start; double diff; start = clock(); diff = ( std::clock() - start …
101 c++  c  timer 

3
gcc 4.8 또는 이전 버전은 정규 표현식에 대해 버그가 있습니까?
C ++ 11 코드에서 std :: regex를 사용하려고하는데 지원이 약간 버그가있는 것 같습니다. 예 : #include &lt;regex&gt; #include &lt;iostream&gt; int main (int argc, const char * argv[]) { std::regex r("st|mt|tr"); std::cerr &lt;&lt; "st|mt|tr" &lt;&lt; " matches st? " &lt;&lt; std::regex_match("st", r) &lt;&lt; std::endl; std::cerr &lt;&lt; "st|mt|tr" &lt;&lt; " matches mt? …
101 c++  regex  gcc  c++11  libstdc++ 

3
간단한 "Hello World"스타일 프로그램이 Turbo C ++로 컴파일되지 않는 이유는 무엇입니까?
프로그래밍 수업을 위해 C ++를 배우기 시작했습니다. 이 "Hello World"프로그램을 다운로드했습니다. #include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; "Hello, World!"; return 0; } 그러나 Turbo C ++는 다음과 같이 불평합니다. Error D:\HELLO.CPP 1: Unable to open include file 'IOSTREAM' Error D:\HELLO.CPP 2: Declaration syntax error Error D:\HELLO.CPP …
101 c++  turbo-c++  c++-faq 

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