>  기사  >  백엔드 개발  >  C++ 검토 요점 요약(1)

C++ 검토 요점 요약(1)

黄舟
黄舟원래의
2017-01-16 11:16:111138검색

C++는 C 언어를 향상합니다 - 유형 향상

1. 레지스터 키워드 향상

register 키워드는 변수를 레지스터에 직접 배치하도록 컴파일러에 요청합니다. 이는 속도가 빠릅니다.

C 언어에서 레지스터로 수정된 변수는 C++에서 주소를 가질 수 없습니다.

2. 변수 감지 기능 강화

C 언어에서는 동일한 이름으로 여러 전역 변수를 반복적으로 정의하는 것이 허용됩니다. 이름.

3. C++의 모든 변수와 함수에는 유형이 있어야 합니다.

C 언어에서

int f( )는 반환 값이 int이고 모든 매개변수를 허용함을 의미합니다.

int f(void); 반환 값이 int인

함수를 나타냅니다. C++에서

int f( ); 즉, 둘 다 int 값을 반환하는 매개변수 없는 함수를 나타냅니다. ​

4. 향상된 삼항 연산자 함수

예: a< b ? a : b )= 30;

차이 : C 언어는 변수의 값을 반환합니다. C++ 언어는 변수 자체를 반환합니다.

C 언어의 삼항 연산자는 변수 값을 반환하며 lvalue로 사용할 수 없습니다.

C++의 삼항 연산자 변수 자체를 직접 반환할 수 있으므로 프로그램 어디에나 나타날 수 있습니다

참고: 삼항 연산자가 반환할 수 있는 값 중 하나가 상수 값인 경우 lvalue(a < b ? 1 :b )= 30;

C 언어는 C++와 유사한 기능을 어떻게 지원하나요?

====> lvalue가 되기 위한 조건: 메모리 공간이 있어야 합니다. C++ 컴파일러는 프로그래머가 주소를 얻는 데 도움을 줍니다.

1.const 한정자 인식

함수: 객체를 읽기 전용 상수로 변환합니다.

int main()
{
const int a;// 1 第1个第2个意思一样 代表一个常整形数
int const b;// 2
const int *c; // 3 第3个 c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)
int * const d; //4 第4个 d 常指针(指针变量不能被修改,但是它所指向内存空间可以被修改)
const int * const e ; //5 第5个 e一个指向常整形的常指针(指针和它所指向的内存空间,均不能被修改)
return 0;
}

예:

const int bufSize=512;bufSize初始化之后就无法进行修改了。
1)在C++中,const符号表原理:存储方式是符号表即key value
key value
bufSize 512

2. C++ 컴파일러의 const 상수 처리 원리: 상수가 선언되면 해당 상수는 기호 테이블에 배치됩니다. 상수가 사용됩니다. 기호 테이블의 값으로 직접 대체하십시오.

결론: C 언어의 const 변수와 C++의 차이점

C 언어의 const 변수는 읽기 전용 변수이며 자체 저장 공간을 갖습니다.

C++의 const 상수

저장 공간을 할당하거나 할당하지 않을 수 있습니다

const 상수가 전역이고 다른 파일에서 사용해야 하는 경우

& 연산자를 사용하여 const 상수를 얻는 경우 주소

2) const와 #define

의 유사점과 차이점은 동일합니다. 둘 다 상수로 사용할 수 있습니다

차이점: const 상수는 컴파일러에 의해 처리됩니다. 유형 감지 및 범위 확인 기능을 제공하며 매크로 정의는 전처리기에 의해 처리되며 간단한 텍스트 교체가 가능합니다.

위 내용은 C++ 리뷰 포인트(1)를 요약한 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.