찾다
Javajava지도 시간C++ 참조 및 포인터 소개

Python 및 JavaScript와 같은 고급 언어와 마찬가지로 PHP도 C/C++를 통해 확장 기능을 작성할 수 있습니다. 여기에서는 간단한 PHP 확장을 구축하는 방법과 타사 DLL 라이브러리를 호출하는 방법을 공유합니다.

  1. c 언어 포인터
    포인터는 나를 수천 번 괴롭혔습니다. 처음 포인터를 배우기 시작했을 때 매우 혼란스러웠습니다. 이제 포인터 지식이 중개인 역할을 하는 것 같습니다. 메모리 관점에서는 포인터 공간을 사용합니다. 데이터가 저장되는 주소입니다.

#include<stdio.h>void  add_1(int num)
{
    num++;
}

void add_2(int *num)
{
    (*num)++;
}int main()
{    int number1 = 1,number2 = 1 ; 
    add_1(number1);
    add_2(&number2);    printf("%d\n",number1);    printf("%d\n",number2);    return 0;
}


C++ 참조 및 포인터 소개

number1의 값은 변경되지 않고, number2는 1씩 증가합니다. add_1()에 매개변수를 전달하는 것은 공백을 여는 것과 같습니다number1의 값이 공백에 복사되고, 복사된 값 수행된 모든 작업은 원본 데이터에 영향을 주지 않습니다. add_2()에 전달된 매개변수는 number2의 주소를 저장할 공간을 여는 것입니다. num에 대한 모든 연산은 number2에 대한 연산과 같습니다.

    c++ 명언
  1. 아래 코드는 위 코드와 거의 동일하며 몇 가지 기호만 수정했을 뿐 효과는 동일합니다.


    #include<iostream>using namespace std;void add_1(int num)
    {
        num++;
    }void add_2(int &num)
    {
        num++;
    }int main()
    {    int number1 = 0, number2 = 0;
        add_1(number1);
        add_2(number2);    cout << number1 << "  " << number2 << endl;    return 0;
    }
C++ 참조는

2번의 별칭C++ 참조 및 포인터 소개입니다. 실제로 메모리에 저장되는 것은 여전히 ​​2번 메모리 주소이지만 컴파일러는 제가 컴퓨터 과학에 대해 이해한 것과 마찬가지로 몇 가지 최적화 및 제한 사항을 적용했습니다. 구성 방법은 서로 다른 컴퓨터 아키텍처를 형성합니다. 3. 반환 값으로 C++ 참조

#include<iostream>using namespace std;int n = 3;int& func()
{    return n;
}int main()
{    int num;
    num = func();    cout<<num <<endl;    return 0;
}

함수는 n에 대한 암시적 포인터를 반환하지만 참조해야 하는 개체는 범위를 초과해서는 안 됩니다. 즉, 변수는 다음과 같이 해당 함수 본문에 대해 작동합니다. 전역 위 변수는 참조될 수 있지만 func 함수 내에 배치된 경우에는 참조할 수 없습니다.

4. C++ 참조와 포인터의 차이점

    포인터는 널 포인터일 수 있지만 참조는 올바른 주소 공간을 가리켜야 합니다.
  • 포인터는 한 객체에서 다른 객체를 가리킬 수 있지만 참조가 객체로 초기화되면 변경할 수 없습니다.
  • 포인터는 언제든지 초기화될 수 있지만 참조는 생성 시 초기화되어야 합니다.
  • 관련 권장 사항:

C/C++를 사용하여 PHP 확장 작성

정적 지역 변수를 통해 C, C++, C#, Java, PHP의 특성 보기

위 내용은 C++ 참조 및 포인터 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
고급 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 또는 Gradle을 어떻게 사용합니까?고급 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 또는 Gradle을 어떻게 사용합니까?Mar 17, 2025 pm 05:46 PM

이 기사에서는 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 및 Gradle을 사용하여 접근 방식과 최적화 전략을 비교합니다.

적절한 버전 및 종속성 관리로 Custom Java 라이브러리 (JAR Files)를 작성하고 사용하려면 어떻게해야합니까?적절한 버전 및 종속성 관리로 Custom Java 라이브러리 (JAR Files)를 작성하고 사용하려면 어떻게해야합니까?Mar 17, 2025 pm 05:45 PM

이 기사에서는 Maven 및 Gradle과 같은 도구를 사용하여 적절한 버전 및 종속성 관리로 사용자 정의 Java 라이브러리 (JAR Files)를 작성하고 사용하는 것에 대해 설명합니다.

카페인 또는 구아바 캐시와 같은 라이브러리를 사용하여 자바 애플리케이션에서 다단계 캐싱을 구현하려면 어떻게해야합니까?카페인 또는 구아바 캐시와 같은 라이브러리를 사용하여 자바 애플리케이션에서 다단계 캐싱을 구현하려면 어떻게해야합니까?Mar 17, 2025 pm 05:44 PM

이 기사는 카페인 및 구아바 캐시를 사용하여 자바에서 다단계 캐싱을 구현하여 응용 프로그램 성능을 향상시키는 것에 대해 설명합니다. 구성 및 퇴거 정책 관리 Best Pra와 함께 설정, 통합 및 성능 이점을 다룹니다.

캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA (Java Persistence API)를 어떻게 사용하려면 어떻게해야합니까?캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA (Java Persistence API)를 어떻게 사용하려면 어떻게해야합니까?Mar 17, 2025 pm 05:43 PM

이 기사는 캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA를 사용하는 것에 대해 설명합니다. 잠재적 인 함정을 강조하면서 성능을 최적화하기위한 설정, 엔티티 매핑 및 모범 사례를 다룹니다. [159 문자]

Java의 클래스로드 메커니즘은 다른 클래스 로더 및 대표 모델을 포함하여 어떻게 작동합니까?Java의 클래스로드 메커니즘은 다른 클래스 로더 및 대표 모델을 포함하여 어떻게 작동합니까?Mar 17, 2025 pm 05:35 PM

Java의 클래스 로딩에는 부트 스트랩, 확장 및 응용 프로그램 클래스 로더가있는 계층 적 시스템을 사용하여 클래스로드, 링크 및 초기화 클래스가 포함됩니다. 학부모 위임 모델은 핵심 클래스가 먼저로드되어 사용자 정의 클래스 LOA에 영향을 미치도록합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기