«c++» 태그된 질문

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

10
"if"및 "while"과 함께 사용되는 언어에서 표현식에 괄호가 필요한 이유는 무엇입니까?
에서 사용할 때 C, Java 및 C와 같은 언어 ++ 모두는 전체 표현식 주위에 괄호가 필요 if, while또는 switch. if (true) { // Do something } 반대로 if true { // Do something } 괄호가 중복되어 있기 때문에 이것은 이상하게 보입니다. 이 예에서는 true자체적으로 단일 표현식입니다. 괄호는 내가 아는 방식으로 …

13
역 참조 된 모든 단일 포인터를 널 보호하는 것이 합리적입니까?
새로운 직업에서, 나는 다음과 같은 코드에 대한 코드 리뷰에 플래그를 붙였습니다. PowerManager::PowerManager(IMsgSender* msgSender) : msgSender_(msgSender) { } void PowerManager::SignalShutdown() { msgSender_->sendMsg("shutdown()"); } 마지막 방법은 다음과 같아야한다고 들었습니다. void PowerManager::SignalShutdown() { if (msgSender_) { msgSender_->sendMsg("shutdown()"); } } 즉, 내가 해야한다 풋 NULL주위에 가드 msgSender_가 개인 데이터 멤버 인 경우에도 변수입니다. 내가이 …

3
왜 비공개 회원을 헤더에 넣어야합니까?
개인 변수는 클래스 사용자에게 복잡성과 구현 세부 사항을 숨기는 방법입니다. 이것은 다소 좋은 기능입니다. 그러나 C ++에서 왜 클래스 헤더에 그것들을 넣어야하는지 이해하지 못합니다. 나는 이것에 대한 두 가지 성가신 단점을 봅니다. 사용자의 헤더를 어지럽게 만듭니다. 내부를 수정할 때마다 모든 클라이언트 라이브러리를 강제로 다시 컴파일합니다. 이 요구 사항 뒤에 개념적 …
62 c++  headers 

10
함수 오버로드에만 C ++ 컴파일러를 사용하는 것은 나쁜 습관입니까?
그래서 특정 프로세서에 C를 사용하여 소프트웨어 설계를 진행하고 있습니다. 툴킷에는 C와 C ++를 컴파일하는 기능이 포함되어 있습니다. 내가하고있는 일에 대해이 환경에서 사용할 수있는 동적 메모리 할당이 없으며 프로그램은 전반적으로 매우 간단합니다. 이 장치에는 프로세서 전원이나 리소스가 거의 없다는 점은 말할 것도 없습니다. C ++을 전혀 사용할 필요가 없습니다. 즉, 함수 …


10
Show () + Hide () 또는 SetVisible (bool visible)이 더 낫습니까?
무엇이 더 좋고 왜? (인터페이스 디자인 관점에서) : A) 두 가지가하려면 Show()및 Hide()기능을 b) 하나의 SetVisible(bool visible)기능 을 가지려면 편집 : 예를 들어 일부 객체에는 가시성 상태가 있으며이 기능은 객체를 변경하는 데 사용됩니다. C) 세하도록하려면 Show(), Hide(), SetVisible(bool visible)기능을
59 java  c++  interfaces 

9
최후의 수단으로 std :: shared_ptr?
방금 "Going Native 2012"스트림을보고 있었고에 대한 토론을 발견했습니다 std::shared_ptr. 나는 Bjarne의 다소 부정적인 견해 std::shared_ptr와 물체의 수명이 불확실 할 때 "최후의 수단"으로 사용해야한다는 그의 의견 을 듣고 약간 놀랐습니다 . 누구든지 이것을 좀 더 깊이 설명하고 싶습니까? 안전한 방법으로 std::shared_ptr객체 수명을 프로그래밍하지 않고 계속 관리 할 수있는 방법은 무엇입니까?

13
정의되지 않은 행동의 철학
C \ C ++ 사양은 컴파일러가 자신의 방식으로 구현할 수있는 많은 수의 동작을 생략합니다. 여기에 항상 같은 질문을 계속하는 많은 질문이 있으며 이에 대한 훌륭한 게시물이 있습니다. https://stackoverflow.com/questions/367633/what-are-all-the-common-undefined-behaviour-that-ac-programmer-should-know-abo https://stackoverflow.com/questions/4105120/what-is-undefined-behavior https://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points 내 질문은 정의되지 않은 동작이 무엇인지에 대한 것이 아니거나 실제로 나쁜 것입니다. 나는 표준과 관련된 위험과 정의되지 않은 행동 따옴표의 …


11
자바에 대한 현대적 리뷰
나는 몇 년 동안 프로그래밍을 해왔고 Java로 시작했으며, 제 시간에 Java가 어떤 식 으로든 열등한 언어라고 주장하는 많은 다른 소스를 발견했습니다. 나는 각 언어마다 강점과 약점이 있다는 것을 잘 알고 있지만 Java에 관해 읽은 많은 것들이 데이트 된 것 같습니다. Java가 열등한 이유 중 가장 자주 인용되는 이유는 예를 들어 …

9
가독성과 유지 보수성, 중첩 함수 호출을 작성하는 특수한 경우
중첩 함수 호출에 대한 내 코딩 스타일은 다음과 같습니다. var result_h1 = H1(b1); var result_h2 = H2(b2); var result_g1 = G1(result_h1, result_h2); var result_g2 = G2(c1); var a = F(result_g1, result_g2); 최근에 다음과 같은 코딩 스타일이 많이 사용되는 부서로 변경했습니다. var a = F(G1(H1(b1), H2(b2)), G2(c1)); 내 코딩 방식의 결과는 …

7
C ++에 '최종'구성이없는 이유는 무엇입니까?
C ++에서의 예외 처리는 try / throw / catch로 제한됩니다. Object Pascal, Java, C # 및 Python과 달리 C ++ 11에서도 finally구문이 구현되지 않았습니다. "예외 안전 코드"에 대해 언급 한 많은 C ++ 문헌을 보았습니다. Lippman은 예외 안전 코드가 Primer의 범위를 넘어서는 중요하지만 진보 된 어려운 주제라고 썼다. 이는 안전한 …
57 c++  exceptions 

7
std :: string 앞에 왜 많은 문자열 클래스가 있습니까?
많은 더 큰 C ++ 라이브러리가 결국 자체 문자열 유형을 만드는 것으로 보입니다. 클라이언트 코드에서는 (라이브러리에서 하나를 사용해야 하나 QString, CString, fbstring또는 대부분의 시간이 포함 된 (표준 타입과 일 사이에서 라이브러리 사용을 변환 유지, 나는 사람이 몇 이름을 지정할 수 있습니다 확신 등) 적어도 하나의 사본). 그렇다면 의미론이 나쁜 std::string것처럼 …
56 c++ 

3
람다는 무엇이며 왜 유용합니까? [닫은]
지금까지 나는 들었습니다. 람다 미적분학 람다 프로그래밍 람다 식 람다 함수 기능 프로그래밍과 관련된 것 같습니다 ... 분명히 C ++ 1x에 통합 될 것이므로 지금 이해하는 것이 좋습니다. http://en.wikipedia.org/wiki/C%2B%2B0x#Lambda_functions_and_expressions 누군가 람다 일을 간단히 정의하고 유용 할 수있는 곳을 줄 수 있습니까?

15
왜 postfix 증가가 있습니까?
면책 조항 : 접두사와 접미사 증가의 의미를 완벽하게 알고 있습니다. 그들이 어떻게 작동하는지 설명하지 마십시오. 스택 오버플로에 대한 질문을 읽으면 프로그래머가 접미사 증가 연산자에 의해 반복해서 혼란스러워한다는 것을 알 수는 없습니다. 이것으로부터 다음과 같은 질문이 발생합니다. postfix 증가가 코드 품질 측면에서 실질적인 이점을 제공하는 사용 사례가 있습니까? 예를 들어 내 …
55 c++  c  postfix 

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