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)를 참고해주세요!