«c++» 태그된 질문

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


12
C ++에서 문자열 배열을 선언하는 방법은 무엇입니까?
가능한 최선의 방법으로 정적 문자열 배열의 모든 요소를 ​​반복하려고합니다. 한 줄에 선언하고 번호를 추적하지 않고도 요소를 쉽게 추가 / 제거 할 수 있기를 원합니다. 정말 간단하게 들리지 않습니까? 가능한 비 해결 방법 : vector<string> v; v.push_back("abc"); b.push_back("xyz"); for(int i = 0; i < v.size(); i++) cout << v[i] << endl; …
89 c++  arrays 

3
"as-if"규칙은 정확히 무엇입니까?
제목에서 알 수 있듯이 "as-if"규칙은 정확히 무엇입니까? 일반적인 대답은 다음과 같습니다. 프로그램의 관찰 가능한 동작을 변경하지 않는 모든 코드 변환을 허용하는 규칙 때때로 우리는이 규칙에 기인하는 특정 구현에서 동작을 계속 얻습니다. 여러 번 잘못되었습니다. 이 규칙은 정확히 무엇입니까? 표준은이 규칙을 섹션이나 단락으로 명확하게 언급하지 않습니다. 그렇다면 정확히이 규칙의 범위에 속하는 …
89 c++  c  optimization  c++-faq  as-if 


7
함수 수준 정적 변수는 언제 할당 / 초기화됩니까?
저는 전역 적으로 선언 된 변수가 프로그램 시작 시간에 할당 (적용 가능한 경우 초기화)된다는 것을 확신합니다. int globalgarbage; unsigned int anumber = 42; 하지만 함수 내에 정의 된 정적 요소는 어떻습니까? void doSomething() { static bool globalish = true; // ... } 공간은 언제 globalish할당됩니까? 프로그램이 언제 시작되는지 추측하고 있습니다. …
89 c++  variables 


4
g ++로 다중 스레드 코드 컴파일
가장 쉬운 코드가 있습니다. #include <iostream> #include <thread> void worker() { std::cout << "another thread"; } int main() { std::thread t(worker); std::cout << "main thread" << std::endl; t.join(); return 0; } 나는 여전히 그것을 g++실행하기 위해 컴파일 할 수는 없지만 . 자세한 내용은: $ g++ --version g++ (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1 …
89 c++  linux  ubuntu  gcc  g++ 

3
정적 키워드 지원 중단… 더 이상?
C ++에서는 static번역 단위 내 에서 키워드 를 사용하여 심볼의 가시성 (변수 또는 함수 선언)에 영향을 미칠 수 있습니다. n3092에서는 더 이상 사용되지 않습니다. Annex D.2 [depr.static] 네임 스페이스 범위에서 객체를 선언 할 때 static 키워드 사용은 더 이상 사용되지 않습니다 (3.3.6 참조). n3225에서는이 기능이 제거되었습니다. 내가 찾을 수있는 유일한 …
89 c++  static  c++11  standards 

4
"휘발성"의 정의가 이처럼 변동성이 있습니까? 아니면 GCC에 표준 준수 문제가 있습니까?
(WinAPI의 SecureZeroMemory와 같은) 항상 메모리를 0으로 만들고 컴파일러가 그 후에는 메모리에 다시 액세스하지 않을 것이라고 생각하더라도 최적화되지 않는 함수가 필요합니다. 휘발성에 대한 완벽한 후보처럼 보입니다. 하지만 실제로 GCC와 함께 작동하는 데 몇 가지 문제가 있습니다. 다음은 함수의 예입니다. void volatileZeroMemory(volatile void* ptr, unsigned long long size) { volatile unsigned char* …
89 c++  c  gcc  standards 

8
"Windows SDK 버전 8.1"을 찾을 수 없다는 오류를 해결하는 방법은 무엇입니까?
내가 빌드 할 때 나는 최근, 이제 비주얼 스튜디오 2015를 업데이트하고 어떤 항상 실패 프로젝트를하고 내가 오류 심각도 코드 설명 프로젝트 파일 줄 억제 상태 오류 MSB8036 Windows SDK 버전 8.1을 찾을 수 없습니다. 필요한 Windows SDK 버전을 설치하거나 프로젝트 속성 페이지에서 SDK 버전을 변경하거나 솔루션을 마우스 오른쪽 단추로 클릭하고 …

8
Windows 레지스트리에서 값을 읽는 방법
일부 레지스트리 값 (예 : HKEY_LOCAL_MACHINE \ blah \ blah \ blah \ foo)에 대한 키가 주어지면 어떻게해야합니까? 이러한 키가 있는지 안전하게 확인하십시오. 프로그래밍 방식으로 (즉, 코드로) 그 가치를 얻습니다. 나는 아무것도 레지스트리에 다시 쓸 의도가 전혀 없습니다 (제가 도울 수 있다면 내 경력 기간 동안). 그래서 우리는 레지스트리에 잘못 …
89 c++  windows  winapi  registry 

7
멤버 함수에 대한 함수 포인터
동일한 클래스의 다른 함수에 대한 포인터 인 클래스의 멤버로 함수 포인터를 설정하고 싶습니다. 내가 이것을하는 이유는 복잡합니다. 이 예에서는 출력이 "1"이되기를 원합니다. class A { public: int f(); int (*x)(); } int A::f() { return 1; } int main() { A a; a.x = a.f; printf("%d\n",a.x()) } 그러나 이것은 컴파일에 …

6
STL 맵에 대해 [] 연산자가 const가 아닌 이유는 무엇입니까?
질문에 대한 설명 된 예 : void MyClass::MyFunction( int x ) const { std::cout << m_map[x] << std::endl } [] 연산자가 상수가 아니기 때문에 컴파일되지 않습니다. [] 구문이 매우 깔끔해 보이기 때문에 이것은 불행한 일입니다. 대신 다음과 같이해야합니다. void MyClass::MyFunction( int x ) const { MyMap iter = m_map.find(x); std::cout …
89 c++  constants 

3
const void 란 무엇입니까?
std::is_void상태에 대한 설명 : T가 void, const void, volatile void 또는 const volatile void 형식 인 경우 true와 동일한 멤버 상수 값을 제공합니다 . 그런 다음 무엇을 할 수있는 const void, 또는 volatile void? 이 답변 은 const void반환 유형이 유효하지 않을 것이라고 말합니다 (그러나 VC ++ 2015에서 컴파일됩니다) const …
89 c++  c++11  c++14 

3
shared_ptr 매직 :)
Mr. Lidström과 저는 논쟁을했습니다. :) Lidström의 주장은 구조 shared_ptr<Base> p(new Derived);가 Base에 가상 소멸자를 필요로하지 않는다는 것입니다 . Armen Tsirunyan : "정말? shared_ptr이 올바르게 정리 될까요?이 경우 어떻게 그 효과를 구현할 수 있는지 보여 주시겠습니까?" Daniel Lidström : " shared_ptr 는 자체 소멸자를 사용하여 Concrete 인스턴스를 삭제합니다. 이것은 C ++ …

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