Home Java JavaBase The difference between references in java and pointers in c++

The difference between references in java and pointers in c++

Dec 31, 2019 pm 04:38 PM
c++ java the difference Quote pointer

The difference between references in java and pointers in c++

Java references and C pointers both point to a memory address. Operations on memory data are completed through references or pointers, but they have differences in implementation, principles, functions, etc. the difference.

(1) Type: Reference to a data element whose value is an address. The address encapsulated by Java can be converted into a string for viewing, and there is no need to worry about the length. A C pointer is a variable that holds an address. The length is generally the computer word length and can be considered an int.

Free online video tutorial recommendation: java video tutorial

(2) Memory occupied: There is no entity when the reference is declared and it does not occupy space. A C pointer will only be assigned a value if it will be used after it is declared. Memory will not be allocated if it is not needed.

(3) Type conversion: The type conversion of the reference may not be successful, an exception will be thrown at runtime or the compilation will not pass. The C pointer indicates a memory address and points to the memory. To the program, it is still an address, but the address pointed to may not be what the program wants.

(4) Initial value: The initial value of the reference is the java keyword null. C pointers are ints. If the pointer is not initialized, its value will not be fixed, which is very dangerous.

(5) Calculation: Reference cannot be calculated. C pointers are int, which can be calculated, such as or --, so pointers are often used instead of array subscripts.

(6) Memory leak: Java references will not cause memory leaks. C pointers are prone to memory leaks, so programmers should use them carefully and recycle them in time.

(7) As a parameter: Java method parameters only pass values. When a reference is used as a parameter, it will give a COPY of the value referenced in the function, so it is meaningless to exchange two reference parameters within the function. Because the function only exchanges the COPY value of the parameter, it makes sense to change the properties of a reference parameter within the function, because the object referenced by the COPY of the reference parameter is the same object as the reference parameter.

C When a pointer is used as a parameter for a function, it is actually the address it points to that is operated by the function, so operations using pointer parameters within the function will directly affect the address pointed to by the pointer (variable, object, function, etc.).

Recommended related articles and tutorials: java introductory tutorial

The above is the detailed content of The difference between references in java and pointers in c++. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1653
14
PHP Tutorial
1251
29
C# Tutorial
1224
24
C  : Is It Dying or Simply Evolving? C : Is It Dying or Simply Evolving? Apr 24, 2025 am 12:13 AM

C isnotdying;it'sevolving.1)C remainsrelevantduetoitsversatilityandefficiencyinperformance-criticalapplications.2)Thelanguageiscontinuouslyupdated,withC 20introducingfeatureslikemodulesandcoroutinestoimproveusabilityandperformance.3)Despitechallen

The Future of C  : Adaptations and Innovations The Future of C : Adaptations and Innovations Apr 27, 2025 am 12:25 AM

The future of C will focus on parallel computing, security, modularization and AI/machine learning: 1) Parallel computing will be enhanced through features such as coroutines; 2) Security will be improved through stricter type checking and memory management mechanisms; 3) Modulation will simplify code organization and compilation; 4) AI and machine learning will prompt C to adapt to new needs, such as numerical computing and GPU programming support.

What does 'platform independence' mean in the context of Java? What does 'platform independence' mean in the context of Java? Apr 23, 2025 am 12:05 AM

Java's platform independence means that the code written can run on any platform with JVM installed without modification. 1) Java source code is compiled into bytecode, 2) Bytecode is interpreted and executed by the JVM, 3) The JVM provides memory management and garbage collection functions to ensure that the program runs on different operating systems.

C   in the Modern World: Applications and Industries C in the Modern World: Applications and Industries Apr 23, 2025 am 12:10 AM

C is widely used and important in the modern world. 1) In game development, C is widely used for its high performance and polymorphism, such as UnrealEngine and Unity. 2) In financial trading systems, C's low latency and high throughput make it the first choice, suitable for high-frequency trading and real-time data analysis.

What currency does Ripple (XRP currency) belong to? Detailed tutorial for beginners What currency does Ripple (XRP currency) belong to? Detailed tutorial for beginners Apr 28, 2025 pm 07:57 PM

Created by Ripple, Ripple is used for cross-border payments, which are fast and low-cost and suitable for small transaction payments. After registering a wallet and exchange, purchase and storage can be made.

Popular science in the currency circle: What is the difference between decentralized exchanges and hybrid exchanges? Popular science in the currency circle: What is the difference between decentralized exchanges and hybrid exchanges? Apr 21, 2025 pm 11:30 PM

The difference between decentralized exchanges and hybrid exchanges is mainly reflected in: 1. Trading mechanism: Decentralized exchanges use smart contracts to match transactions, while hybrid exchanges combine centralized and decentralized mechanisms. 2. Asset control: Decentralized exchange users control assets, and mixed exchange ownership centralization and decentralization. 3. Privacy protection: Decentralized exchanges provide high anonymity, and hybrid exchanges require KYC in centralized mode. 4. Trading speed and liquidity: Decentralized exchanges are slower, liquidity depends on user pool, and hybrid exchanges are more fast and liquid in centralized mode. 5. Platform governance: Decentralized exchanges are governed by community governance, and hybrid exchanges are jointly governed by communities and centralized teams.

Explain how to use sessions for user authentication. Explain how to use sessions for user authentication. Apr 26, 2025 am 12:04 AM

The session realizes user authentication through the server-side state management mechanism. 1) Session creation and generation of unique IDs, 2) IDs are passed through cookies, 3) Server stores and accesses session data through IDs, 4) User authentication and status management are realized, improving application security and user experience.

C   and JavaScript: The Connection Explained C and JavaScript: The Connection Explained Apr 23, 2025 am 12:07 AM

C and JavaScript achieve interoperability through WebAssembly. 1) C code is compiled into WebAssembly module and introduced into JavaScript environment to enhance computing power. 2) In game development, C handles physics engines and graphics rendering, and JavaScript is responsible for game logic and user interface.

See all articles