«c++» 태그된 질문

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

6
C ++의 인라인 함수 점은 무엇인가?
내가 읽은 것에 따르면, 컴파일러는 인라인 함수의 함수 호출을 본문으로 대체 할 의무는 없지만 가능하다면 그렇게 할 것입니다. 이것은 나에게 생각을 줬다 – 만약 그렇다면 우리는 왜 인라인 단어를 가지고 있는가? 기본적으로 모든 함수를 인라인 함수로 만들고 컴파일러가 함수를 호출로 대체 할 수 있는지 알아 내지 않겠습니까?

1
왜 도트 대신에 이중 콜론?
초기 C ++ 구현에는 네임 스페이스 액세스를위한 도트 연산자 가 있다는 소문 이 있습니다. 현대의 이중 콜론 연산자보다 점이 더 편리하다는 의견이 있습니다. 이중 콜론을 도입 한 이유는 무엇입니까?

7
코딩 스타일 문제 : 매개 변수를 가져 와서 수정 한 다음 해당 매개 변수를 반환하는 함수가 있어야합니까?
나는이 두 가지 관행이 같은 동전의 양면인지 아니면 어느 쪽이 더 좋은지에 대해 친구와 약간의 논쟁을 벌이고 있습니다. 매개 변수를 가져 와서 멤버를 채우고 반환하는 함수가 있습니다. Item predictPrice(Item item) 전달 된 동일한 객체 에서 작동 하므로 항목을 반환 할 필요가 없다고 생각합니다. 실제로, 발신자의 관점에서 볼 때, 새 항목 …

4
C / C ++에서 함수 호출의 스택 프레임을 이해하고 있습니까?
스택 프레임이 어떻게 작성되고 어떤 변수 (매개 변수)가 어떤 순서로 쌓 이도록 푸시되는지 이해하려고합니까? 일부 검색 결과에 따르면 C / C ++ 컴파일러는 함수 내에서 수행 된 작업을 기반으로 결정합니다. 예를 들어, 함수가 전달 된 int 값을 1 (++ 연산자와 유사)만큼 증가시키고 리턴하면 함수의 모든 매개 변수와 로컬 변수를 레지스터에 …
19 c++  c  compiler  stack 

8
C ++ 친구에게 또는 친구에게
이번 학기에는 C ++ 과정을 사용한 객체 지향 프로그래밍이 있으며 친구 기능에 대해 배우고있었습니다. Encapsulation 및 Data hide가 제공하는 보안을 우회하는 능력으로 본능적으로 싫어했습니다. 인터넷에서 몇 가지 기사를 읽었으며 일부 사람들은 합법적 인 용도로 좋은 아이디어라고 생각했습니다. O ++ 전문가가 C ++의 친구 기능에 대해 무엇을 말합니까? 그냥 넘어 가야합니까, …

8
첫 번째 오류 이후 C 또는 C ++ 컴파일 오류를 읽습니까?
C 및 C ++ 컴파일러가 오류를 복구하고 구문 분석을 계속 시도하는 이유를 이해하지 못했습니다. 거의 항상, 첫 번째 오류는 첫 번째 오류가 수정 되 자마자 사라지는 가짜 오류 스트림을 생성합니다. 수년간의 경험을 쌓은 후, 나는 모든 파일 중 첫 번째 파일을 제외한 모든 오류를 보는 것을 중단했습니다. 컴파일러를 다시 실행 …

7
관용구는 무엇입니까?
나는 "이디엄"이 특정 언어에서 정수 증가와 같은 핵심 언어 구문에 의해 단순화되지 않는 일반적인 연산이나 패턴이라는 것을 이해합니다. i = i + 1; C ++에서이 관용구는 연산자로 단순화됩니다. ++i; 그러나 누군가가 "관념적"이라는 용어를 사용할 때, 그것을 이해하는 방법을 잘 모르겠습니다. 코드를 "아이디 오 매틱"하게 만드는 것은 무엇입니까?
19 c++  idioms 

7
.cpp 파일 만 포함 할 때 모든 것이 작동하는 동안 왜 .h를 포함시켜야합니까?
파일을 포함 시켜서 만 작동하게 하려면 왜 파일 .h과 .cpp파일을 모두 포함해야 .cpp합니까? 예를 들어, file.h포함 선언을 작성한 다음 file.cpp포함 정의 를 작성하고에 둘 다 포함합니다 main.cpp. 또는를 file.cpp포함하는 선언 / 정의 (시제품 없음)를 작성합니다 main.cpp. 둘 다 나를 위해 일합니다. 차이점을 볼 수 없습니다. 컴파일 및 연결 프로세스에 대한 …
18 c++  c  headers  linking  include 

2
TIOBE 인기 지수에서 C가 왜 그렇게 높은 반면 C ++도 여기에 있지만 인기는 없습니다. [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 육년 전 …

8
책에서“컴파일러가 메모리에 변수를위한 공간을 할당합니다”라고 말하는 이유는 무엇입니까?
책에서 "컴파일러가 메모리에 변수를위한 공간을 할당합니다"라고 말하는 이유는 무엇입니까? 그것은 실행 파일 아닌가요? 예를 들어 다음 프로그램을 작성하면 #include <iostream> using namespace std; int main() { int foo; return 0; } 컴파일하고 실행 파일을 가져옵니다 (program.exe로 설정하십시오). program.exe를 실행하면이 실행 파일 자체가 변수 foo에 공간을 할당하라는 명령을 내립니다. 그렇지 않습니까? …
18 c++ 

5
상태가없는 인스턴스화 가능한 클래스가 너무 많은 이유는 무엇입니까?
C ++ 및 Java 세계에서 상태가없는 많은 인스턴스화 가능한 클래스를보고 있습니다. 사람들이 왜 그렇게하는지 알 수 없습니다 .C ++에서 무료 함수가있는 네임 스페이스를 사용하거나 개인 생성자가 있고 클래스가 Java 인 클래스 만 사용할 수 있습니다. 내가 생각할 수있는 유일한 이점은 나중에 특정 상황에서 다른 구현을 원한다고 결정하면 대부분의 코드를 변경할 …

3
C ++의 화살표 연산자가 *.의 별칭이 아닌 이유는 무엇입니까?
c ++에서는 반복자와 같이 * 연산자가 오버로드 될 수 있지만 화살표 (->) (. *) 연산자는 * 연산자를 오버로드하는 클래스에서는 작동하지 않습니다. 전처리 기가->의 모든 인스턴스를 (* left) .right로 쉽게 바꿀 수 있다고 생각하면 반복자를 구현하는 것이 더 좋을 것입니다. 실제와 다른 이유가 있습니까? 아니면 언어 / 디자이너 만의 특성입니까?
18 c++  operators 

8
C와 C ++ 사이에 언어가 있습니까?
C의 단순하고 투명한 특성이 정말 마음에 듭니다. C 코드를 작성할 때 "유연한 추상화"로 방해받지 않고 거의 항상 내가 생성하는 어셈블리에 대해 어리석은 추측을 할 수 있습니다. 나는 또한 C에 대한 간단하고 친숙한 구문을 좋아한다. 그러나 C에는 C ++이 클래스, 단순화 된 비 문자열 처리 등과 같은 C ++이 제공하는 간단하고 …
18 c++  c 

3
왼쪽에서 오른쪽 언어 구문의 장점
나는 Channel9 에서 Herb Sutter와의 인터뷰를 보았고 비디오 끝에서 왼쪽에서 오른쪽으로 언어 구문이 미래의 C ++ 표준에 대한 그의 기발한 목록에서 맨 위에 올 것이라고 언급했다. 완전히 다른 짐승을 만들 것입니다). 와는 별개로: 육안으로보다 명확하게 인간이 이해할 수있는 것; 예. //C syntax /*pointer to function taking a pointer to function(which …

10
상속과 다형성이 왜 그렇게 널리 사용됩니까?
함수형 프로그래밍과 같은 다른 프로그래밍 패러다임에 대해 더 많이 배울수록 상속 및 다형성과 같은 OOP 개념의 지혜에 의문을 가지기 시작합니다. 나는 학교에서 상속과 다형성에 대해 처음 배웠고, 당시에 다형성은 쉽게 확장 할 수있는 일반적인 코드를 작성하는 훌륭한 방법 인 것처럼 보였다. 그러나 오리 타이핑 (동적 및 정적)과 고차 함수와 같은 …

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