C++ QUICK REFERENCE
PREPROCESSOR
// Comment to end of line
/* Multi-line comment */
#include
// Insert standard header file
#include
"myfile.h" // Insert file in current directory
#define X some text //
Replace X with some text
#define F(a,b) a+b //
Replace F(1,2) with 1+2
#define X \
some text // Line
continuation
#undef X // Remove definition
#if defined(X) //
Condional compilation (#ifdef X)
#else // Optional
(#ifndef X or #if !defined(X))
#endif // Required after
#if, #ifdef
LITERALS
255, 0377, 0xff //
Integers (decimal, octal, hex)
2147483647L, 0x7fffffffl
// Long (32-bit) integers
123.0, 1.23e2 // double
(real) numbers
'a', '\141', '\x61' //
Character (literal, octal, hex)
'\n', '\\', '\'',
'\"' // Newline, backslash, single quote, double
quote
"string\n" //
Array of characters ending with newline and
\0
"hello"
"world" // Concatenated strings
true, false // bool
constants 1 and 0
DECLARATIONS
int x; // Declare x to be
an integer (value undefined)
int x=255; // Declare and
initialize x to 255
short s; long l; //
Usually 16 or 32 bit integer (int may be
either)
char c='a'; // Usually 8
bit character
unsigned char u=255;
signed char s=-1; // char might be either
unsigned long
x=0xffffffffL; // short, int, long are signed
float f; double d; //
Single or double precision real (never
unsigned)
bool b=true; // true or
false, may also use int (1 or 0)
int a, b, c; // Multiple
declarations
int a[10]; // Array of 10
ints (a[0] through a[9])
int a[]={0,1,2}; //
Initialized array (or a[3]={0,1,2}; )
int
a[2][3]={{1,2,3},{4,5,6}}; // Array of array of ints
char s[]="hello";
// String (6 elements including '\0')
int* p; // p is a pointer
to (address of) int
char*
s="hello"; // s points to unnamed array containing "hello"
void* p=NULL; // Address
of untyped memory (NULL is 0)
int& r=x; // r is a
reference to (alias of) int x
enum weekend {SAT,SUN};
// weekend is a type with values SAT and SUN
enum weekend day; // day
is a variable of type weekend
enum weekend
{SAT=0,SUN=1}; // Explicit representation as int
enum {SAT,SUN} day; //
Anonymous enum
typedef String char*; //
String s; means char* s;
const int c=3; //
Constants must be initialized, cannot assign
to
const int* p=a; //
Contents of p (elements of a) are constant
int* const p=a; // p (but
not contents) are constant
const int* const p=a; //
Both p and its contents are constant
const int& cr=x; //
cr cannot be assigned to change x
STORAGE CLASSES
int x; // Auto (memory
exists only while in scope)
static int x; // Global
lifetime even if local scope
extern int x; //
Information only, declared elsewhere
STATEMENTS
x=y; // Every expression
is a statement
int x; // Declarations
are statements
; // Empty statement
{ // A block is a single
statement
int x; // Scope of x is
from declaration to end of
block
a; // In C, declarations
must precede statements
}
if (x) a; // If x is true
(not 0), evaluate a
else if (y) b; // If not
x and y (optional, may be repeated)
else c; // If not x and
not y (optional)
while (x) a; // Repeat 0
or more times while x is true
for (x; y; z) a; //
Equivalent to: x; while(y) {a; z;}
do a; while (x); // Equivalent
to: a; while(x) a;
switch (x) { // x must be
int
case X1: a; // If x == X1
(must be a const), jump here
case X2: b; // Else if x
== X2, jump here
default: c; // Else jump
here (optional)
}
break; // Jump out of
while, do, or for loop, or switch
continue; // Jump to
bottom of while, do, or for loop
return x; // Return x
from function to caller
try { a; }
catch (T t) { b; } // If
a throws a T, then jump here
catch (...) { c; } // If
a throws something else, jump here
FUNCTIONS
int f(int x, int); // f
is a function taking 2 ints and returning
int
void f(); // f is a
procedure taking no arguments
void f(int a=0); // f()
is equivalent to f(0)
f(); // Default return
type is int
inline f(); // Optimize
for speed
f() { statements; } //
Function definition (must be global)
T operator+(T x, T y); //
a+b (if type T) calls operator+(a, b)
T operator-(T x); // -a
calls function operator-(a)
T operator++(int); //
postfix ++ or -- (parameter ignored)
extern "C" {void f();} // f() was
compiled in C
कोई टिप्पणी नहीं:
एक टिप्पणी भेजें