References, Pointers and Constants: Difference between revisions

From Yggenyk
Jump to navigation Jump to search
No edit summary
Line 26: Line 26:
To declare a constant -- a value that cannot be changed<br>
To declare a constant -- a value that cannot be changed<br>
Has no effect for passing values to a function or from returning values from a function
Has no effect for passing values to a function or from returning values from a function
|-
|-
|char []<br>
|
char []<br>
int []<br>
int []<br>
double []
double []
Line 62: Line 62:
To return a dynamically-allocated array from a function.<br>
To return a dynamically-allocated array from a function.<br>
|-
|-
|
const char *<br>
const char *<br>
const int *<br>
const int *<br>
Line 71: Line 72:
To return a pointer to a constant value<br>
To return a pointer to a constant value<br>
To pass a pointer to a constant value to a function
To pass a pointer to a constant value to a function
|
|-
|-
|
|
Line 82: Line 82:
To pass a value to a function which will be set by the function (without using a pointer)
To pass a value to a function which will be set by the function (without using a pointer)
|-
|-
|
char * &<br>
char * &<br>
int * &<br>
int * &<br>
Line 89: Line 90:
|
|
To pass a pointer to a function where the function will set the pointer (either by calling new or by assigning to the pointer
To pass a pointer to a function where the function will set the pointer (either by calling new or by assigning to the pointer
|-
|
|
|-
char * const<br>
char * const<br>
int * const<br>
int * const<br>
Line 98: Line 99:
|
|
When you want to point to a specific value.  Allows to you to change the data that is pointed to, but you can't change the pointer
When you want to point to a specific value.  Allows to you to change the data that is pointed to, but you can't change the pointer
|
|}
 
 
{|width="100%"  border="1" cellpadding="2" cellspacing="0"
|-
!style="color:#ffb900"|C++ Code
!style="color:#ffb900"|What It Means
!style="color:#ffb900"|When To Use It
|-
|1
|2
|3
|}
|}

Revision as of 07:30, 14 October 2008

Simple C++ Data Types

C++ Code What It Means When To Use It

char
int
double

Single (scalar) value (character, integer, floating point number)

To store data
To pass data to a function by value
To return data by value

const char
const int
const double

Constant value

To declare a constant -- a value that cannot be changed
Has no effect for passing values to a function or from returning values from a function

char []
int []
double []

Array (vector) of values
(char [] is a string)

To store the same type of data together
To pass an array to a function

const char []
const int []
const double []

Constant array of values
(const char [] is a string constant)

To declare an array of constant values (no element in the array can be changed)
const char [] is used to declare a string constant

char *
int *
double *

Pointer to a single value or an array of values

To store a string (char *)
To store an array of values when you have to allocate the memory dynamically (using new)
To pass an array to a function
To pass a value to a function which the function will set (passing by reference)
To return a dynamically-allocated array from a function.

const char *
const int *
const double *

Pointer to a constant value

When you don't want the value at the pointer to be changed, but you can still change the pointer
To return a pointer to a constant value
To pass a pointer to a constant value to a function

char &
int &
double &

Reference to a value

To pass a value to a function which will be set by the function (without using a pointer)

char * &
int * &
double * &

Reference to a pointer

To pass a pointer to a function where the function will set the pointer (either by calling new or by assigning to the pointer

char * const
int * const
double * const

Constant pointer

When you want to point to a specific value. Allows to you to change the data that is pointed to, but you can't change the pointer


C++ Code What It Means When To Use It
1 2 3

id=siteTree