«c++» 태그된 질문

정적 타입, 자유 형식, 다중 패러다임, 컴파일 된 범용 프로그래밍 언어 인 C ++에 대한 질문.

2
포인터 인수를 사용하여 C ++ 메서드를 C 함수로 변환 할 수 있습니까?
ESP-32에서 C ++을 사용합니다. 타이머를 등록 할 때 다음을 수행해야합니다. timer_args.callback = reinterpret_cast<esp_timer_cb_t>(&SoundMixer::soundCallback); timer_args.arg = this; 여기 타이머가 호출합니다 soundCallback. 작업을 등록 할 때도 마찬가지입니다. xTaskCreate(reinterpret_cast<TaskFunction_t>(&SoundProviderTask::taskProviderCode), "SProvTask", stackSize, this, 10, &taskHandle); 따라서이 방법은 분리 된 작업에서 시작됩니다. GCC는 항상 이러한 전환에 대해 경고하지만 계획대로 작동합니다. 프로덕션 코드에서 허용됩니까? 더 좋은 …
16 c++  c  functions 

3
인터페이스에서 언제 string_view를 사용해야합니까?
나는 모방 A와 디자인 된 내부 라이브러리를 사용하고 C ++ 라이브러리를 제안 하고, 언젠가 지난 몇 년 동안 나는 볼의 인터페이스를 사용하여 변경 std::string에를 string_view. 그래서 새로운 인터페이스에 맞게 코드를 정중하게 변경했습니다. 불행히도, 전달해야 할 것은 std :: string 매개 변수이며 std :: string 반환 값입니다. 그래서 내 코드는 다음과 …

5
C ++에서 예외의 관용적 사용법
isocpp.org 예외 FAQ 는 함수 사용시 코딩 오류를 나타 내기 위해 throw를 사용하지 마십시오. 프로세스를 디버거로 보내거나 프로세스를 중단하고 개발자가 디버그 할 크래시 덤프를 수집하려면 assert 또는 기타 메커니즘을 사용하십시오. 반면에 표준 라이브러리는 std :: logic_error 및 모든 파생물을 정의합니다.이 파생물은 다른 것 외에도 프로그래밍 오류를 처리 해야하는 것처럼 보입니다. …
16 design  c++  exceptions 

6
개인 멤버 함수를 헤더에 넣는 이유는 무엇입니까?
비공개 멤버 변수를 C ++ 헤더에 넣는 이유에 대한 대답은 클래스의 크기를 인스턴스가 선언되는 지점에서 알아야 컴파일러가 스택에서 적절하게 움직이는 코드를 생성 할 수 있다는 것입니다. 왜 비공개 회원을 헤더에 넣어야합니까? 그러나 클래스 정의에서 개인 함수를 선언 해야하는 이유가 있습니까? 대안은 본질적으로 pimpl 관용구이지만 불필요한 간접 지시는 없을 것입니다. 이 …
16 c++  history 

5
“팀 전체”C ++ 기능?
C ++에서 예외와 같은 기능은 전체 프로그램에 영향을 미칩니다. 전체 프로그램 에서이를 비활성화 하거나 코드 전체에서 처리해야합니다. C ++ Report 의 유명한 기사는 다음과 같습니다. 직관적으로 코딩 예외의 어려운 부분은 명시적인 던지기와 잡기가 아닙니다. 예외를 사용하는 것의 가장 어려운 부분은 임의의 예외가 발생 지점에서 처리기로 전파되어 안전하게 도착하고 프로그램의 다른 …

2
현대 C ++ 패러다임에 대한 최고의 개요? [닫은]
닫은. 이 질문은 주제에 맞지 않습니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? Software Engineering Stack Exchange에 대한 주제가 되도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 저는 8 년에서 10 년 전에 C ++을 광범위하게 작성했습니다. 나는 전문적인 이유로 C #으로 옮겼습니다. 그러나 때때로 나는 다음과 같은 …

8
C ++이 여전히 "하이브리드"인 이유
A의 관련 C ++는 여러 측면에서 C와 호환되지 않는 이유 질문이 명확하게되었다. 그러나 C ++은 여전히 ​​"하이브리드"* 언어입니다. 불행히도 많은 프로그래머들은 여전히 ​​C ++을 "스트림과 내장 문자열을 가진 C"로 간주합니다. 이로 인해 실제로 작성된 코드가 잘못되어 C ++ 또는 C가 아닙니다. IMHO, 언어 / 컴파일러가 어느 정도 프로그래머가 더 우아한 …

9
방대한 Linux / makefile 프로젝트를 효과적으로 다루는 방법?
저는 10 년 동안 C ++로 Windows 응용 프로그램을 개발해 왔습니다. 그리고 최근에 일부 Linux 프로젝트를 파헤 치기 시작했는데 비생산적인 모습을 견딜 수 없습니다 ... 저는 빠른 학습자이며 Linux를 기본 플랫폼으로 사용하고 있습니다. 그리고 저는 쉘, OS 원칙 및 GUI에 대해 매우 편안하다고 생각합니다. 그러나 개발에 관해서는 학교에 돌아온 느낌입니다. …
16 c++  linux 

8
C ++을 사용하지만 언어의 특정 기능을 사용하지 않는 경우 C로 전환해야합니까?
나는 자유 시간에 취미로 NES 에뮬레이터를 개발 중입니다. 나는 주로 사용하는 언어이기 때문에 C ++을 사용한다. 그러나 이제 프로젝트에 약간의 발전을 가졌으므로 C ++의 거의 모든 특정 기능을 사용하지 않으며 일반 C에서 동일한 결과를 얻을 수 있습니다. 템플릿, 연산자 오버로드, 다형성, 상속을 사용하지 않습니다. 그래서 뭐라고 하시겠습니까? C ++로 유지하거나 …
16 c++  c 

3
Boost 라이브러리 사용을 배우기 시작하는 곳은 어디입니까?
최근에 내가 일하고있는 프로젝트에서 부스트를 사용할 수있게되었으며 그 경험이 많지 않습니다. 라이브러리에는 많은 부분과 기능이있어서 학습을 시작하는 위치를 알기가 어렵습니다. 특히 프로덕션 코드를 작성하는 동안 배우려고 노력하기 때문에 (너무 느려질 수는 없습니다). 누군가가 일반적으로 매일 프로그래밍하는 데 매우 유용한 약 3 ~ 5 가지 기능을 나열하고 유용한 이유를 밝힐 수 …
16 c++  boost 

12
왜 Java가 C ++과 같은 다른 언어보다 이식성이 높은 것으로 간주됩니까?
잠김 . 이 질문과 주제는 주제가 다르지만 역사적 의미가 있기 때문에이 질문과 답변은 잠겨 있습니다. 현재 새로운 답변이나 상호 작용을받지 않습니다. Java 개발자를위한 "각 플랫폼에 대한 특정 JRE 작성"과 C ++ 개발자를위한 "각 플랫폼에 대한 C ++ 컴파일러 작성"의 차이점은 무엇입니까?
16 java  c++  portability 

5
누군가 GUI가 어떻게 작동하고 언제 사용해야하는지 설명 할 수 있습니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식에 의해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …
16 c++  gui 

4
g ++에서 -pedantic 플래그를 사용할지 여부
나는 C ++을 배우고 있으며 Linux에서는 연습을 위해 g ++을 사용하고 있습니다. 프로그래머로 일하는 사람들이 g ++ -pedantic flag와 실제 세계에서 그 중요성을 사용하는지 알고 싶습니다. 다른 컴파일러는 어떻습니까? 이것이 사실상의 표준이 되었습니까? 저자는 배열 정의에서 비 const 표현식을 차원으로 사용하는 것이 불법이며 기본적으로 g ++에서 허용하는 C ++ Primer를 …
16 c++  gcc 

4
내 C / C ++ 코드 수준 향상
나는 지금 3-4 년 동안 프로그래밍을 해왔고 더 이상 초보자라고 부를 수 없다고 생각하지만이 사이트에서 몇 가지 질문을 읽고 WTF에 대해 이야기하고 있다고 생각합니까? 요즘 프로그래밍 서적을 집어들 때와 같은 느낌이 듭니다. 나는 C / C ++에 관한 몇몇 프로그래밍 책과 게임에 관한 몇몇 프로그래밍 책을 읽었다. 나는 매우 기본적인 …
16 c++  c 

2
비트 OR 또는 플래그 추가
다른 사람들이 Bitwise-OR을 사용하여 전에 플래그를 결합하는 것을 보았습니다. #define RUN 0x01 #define JUMP 0x02 #define SHOOT 0x04 const byte madPerson = RUN | JUMP | SHOOT; 그것은 또한 내가하는 방식입니다. 그러나 나는 또한 add를 사용하여 (많지 않은) 결합 플래그를 보았습니다. #define RUN 0x01 #define JUMP 0x02 #define SHOOT 0x04 …
16 c++  operators 

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