«c++» 태그된 질문

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



9
malloc / free / new / delete에서 컴파일러는 언제 그리고 왜 메모리를 0xCD, 0xDD 등으로 초기화합니까?
컴파일러가 때로는 0xCDand와 같은 특정 패턴으로 메모리를 초기화한다는 것을 알고 0xDD있습니다. 내가 알고 싶은 것은 언제 그리고 왜 이런 일이 발생 하는지 입니다. 언제 사용 된 컴파일러에만 해당됩니까? 수행 malloc/new및 free/delete이와 관련하여 같은 방법으로 사용할 수 있습니까? 특정 플랫폼입니까? Linux또는 같은 다른 운영 체제에서도 발생 VxWorks합니까? 왜 내 이해는 Win32디버그 …

4
C ++에서 "const"는 몇 개나 어떤 것입니까?
초보자 C ++ 프로그래머로서 여전히 나에게 매우 모호한 구조가 const있습니다. 당신은 너무 많은 곳에서 초보자가 살아 나오기에는 거의 불가능한 많은 다른 효과로 그것을 사용할 수 있습니다. 일부 C ++ 전문가는 다양한 용도와 사용 여부 및 / 또는 사용하지 않는 이유를 영원히 설명 할 수 있습니까?
129 c++  const 


8
operator <<는 친구 또는 멤버 함수로 구현해야합니까?
그것이 기본적으로 질문입니다. "올바른"구현 방법이 operator&lt;&lt;있습니까? 이것을 읽으면 다음과 같은 것을 볼 수 있습니다. friend bool operator&lt;&lt;(obj const&amp; lhs, obj const&amp; rhs); 같은 것보다 선호됩니다 ostream&amp; operator&lt;&lt;(obj const&amp; rhs); 하지만 왜 둘 중 하나를 사용해야하는지 잘 모르겠습니다. 내 개인 사례는 다음과 같습니다. friend ostream &amp; operator&lt;&lt;(ostream &amp;os, const Paragraph&amp; p) …


30
열거 형 변수를 문자열로 변환하는 방법은 무엇입니까?
열거 형 유형의 변수 값을 표시하기 위해 printf를 만드는 방법은 무엇입니까? 예를 들어 : typedef enum {Linux, Apple, Windows} OS_type; OS_type myOS = Linux; 내가 필요한 것은 printenum(OS_type, "My OS is %s", myOS); 정수가 아닌 문자열 "Linux"를 표시해야합니다. 먼저 값 인덱스 문자열 배열을 만들어야한다고 가정합니다. 그러나 그것이 가장 아름다운 방법인지는 …
128 c++  c  preprocessor  ansi-c 


10
포인터 표현식 : * ptr ++, * ++ ptr 및 ++ * ptr
최근에 나는 혼자서 이해할 수없는이 문제를 발견했다. 이 세 가지 표현은 정말로 무엇을 의미합니까? *ptr++ *++ptr ++*ptr 나는 Ritchie를 시도했다. 그러나 불행히도 그가이 세 가지 작전에 대해 말한 것을 따를 수 없었습니다. 나는 그것들이 모두 포인터 / 가리키는 값을 증가시키기 위해 수행된다는 것을 알고 있습니다. 평가의 우선 순위와 순서에 대해 …
128 c++  c  pointers  increment 

2
함수 제목의 화살표 연산자 (->)
다음 코드를 발견했습니다. template &lt;typename T, typename T1&gt; auto compose(T a, T1 b) -&gt; decltype(a + b) { return a+b; } 내가 이해할 수없는 한 가지가 있습니다. -&gt;함수 제목에서 화살표 연산자 ( ) 가 무엇을 의미 하는지 어디에서 찾을 수 있습니까 ? 나는 순전히 논리적으로, -&gt;연산자 auto가 추론 할 유형을 …
128 c++  c++11  auto  decltype 

4
std :: function 및 std :: bind : 그것들은 무엇이며 언제 사용해야합니까?
펑터가 무엇이며 언제 std알고리즘 과 함께 사용해야하는지 알고 있지만 C ++ 11 FAQ 에서 Stroustrup이 그들에 대해 말하는 것을 이해하지 못했습니다 . 누구든지 무엇이 무엇 std::bind이고 std::function언제 사용되어야 하는지 설명하고 초보자를위한 몇 가지 예를 제공 할 수 있습니까?

12
삭제로 포인터를 NULL로 설정하지 않는 이유는 무엇입니까?
삭제 후 포인터를 자동으로 NULL로 설정하는 것이 왜 표준의 일부가 아닌지 항상 궁금했습니다 . 이것이 처리되면 유효하지 않은 포인터로 인한 많은 충돌이 발생하지 않습니다. 그러나 표준이 이것을 제한 한 몇 가지 이유를 생각할 수 있다고 말했습니다. 공연: 추가 명령을 delete수행 하면 성능 이 저하 될 수 있습니다. const포인터 때문일 수 …

7
C / C ++에서 0 크기 배열을 정의하면 어떻게됩니까?
궁금한 점 int array[0];은 코드에서 길이가 0 인 배열 을 정의하면 실제로 어떻게됩니까 ? GCC는 전혀 불평하지 않습니다. 샘플 프로그램 #include &lt;stdio.h&gt; int main() { int arr[0]; return 0; } 설명 실제로 Darhazer의 의견에서 가변 길이처럼 지적되는 대신 길이가 0 인 배열이 이런 식으로 초기화되었는지 알아 내려고 노력하고 있습니다. 나는 …
127 c++  c  arrays 

9
C ++에서 Trigraph 시퀀스의 목적은 무엇입니까?
C ++ '03 Standard 2.3 / 1에 따르면 : 다른 처리가 수행되기 전에 다음 세 문자 중 하나 ( "trigraph sequence") 중 하나가 표 1에 표시된 단일 문자로 바뀝니다. ---------------------------------------------------------------------------- | trigraph | replacement | trigraph | replacement | trigraph | replacement | ---------------------------------------------------------------------------- | ??= | # | ??( …
127 c++  c++03  trigraphs 

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